Coming out of Colorado, Witherspoon was projected to be a second or third round pick by the majority of NFL draft experts and scouts. He received an invitation the NFL Combine and performed nearly every combine drill, but opted to skip the bench press. On March 8, 2017, he chose to participate at Colorado's pro day long with, Chidobe Awuzie, Tedric Thompson, Sefo Liufau, and ten other prospects. All 32 NFL teams had team representatives and scouts present. He had five private workouts and visits with the Indianapolis Colts, New Orleans Saints, Philadelphia Eagles, San Francisco 49ers, and Seattle Seahawks. He was ranked the 14th best cornerback prospect in the draft by NFLDraftScout.com. The San Francisco 49ers selected Witherspoon in the third round of the 2017 NFL Draft. He was the 11th cornerback selected in the 2017 NFL Draft.
2017 season: Rookie year
On May 12, 2017, the San Francisco 49ers signed Witherspoon to a four-year, $3.88 million contract with a signing bonus of $973,572. Witherspoon competed with Dontae Johnson, Rashard Robinson, Keith Reaser, and K'Waun Williams throughout training camp for the starting cornerback position. Head coach Kyle Shanahan named him the fifth cornerback on the depth chart behind Dontae Johnson, Rashard Robinson, K'Waun Williams, and Asa Jackson. Witherspoon was a healthy scratch for the first four games of the year. On October 8, 2017, he made his NFL debut and recorded one tackle during a 23-26 overtime road loss to the Indianapolis Colts. On October 29, 2017, Witherspoon earned his first NFL start and recorded three solo tackles, a pass deflection, and picked off a pass attempt by Carson Wentz for his first NFL interception as the 49ers lost to the Philadelphia Eagles by a score of 10-33. Witherspoon earned the start in place of Rashard Robinson who was benched after repetitive penalties and then traded to the New York Jets, two days later. Head coach Kyle Shanahan stated that Witherspoon would be the starting cornerback, opposite Dontae Johnson, moving forward and his development was one of the key factors in trading Robinson. Pro Football Focus graded Witherspoon the best player on the San Francisco 49ers during the matchup against the Eagles and credited him with allowing three receptions on eight targets. During a Week 16 matchup against the Jacksonville Jaguars, Witherspoon recorded his second interception of the year by picking off Blake Bortles as the 49ers won by a score of 44-33. Witherspoon finished his rookie year playing in 12 games with nine starts, recording 32 tackles, seven passes defended, and two interceptions.
2018 season
Witherspoon entered the 2018 season as a starting cornerback alongside Richard Sherman. He played in 14 games with 12 starts, recording 37 tackles and four passes defended. On December 18, 2018, Witherspoon was placed on injured reserve due to a knee injury he suffered in Week 15 against the Seattle Seahawks.
2019 season
In the season-opener against the Tampa Bay Buccaneers, Witherspoon intercepted Jameis Winston and returned it 25 yards for a touchdown in the 31-17 road victory. He missed Weeks 5-10 with a foot injury but returned in Week 11 against the Arizona Cardinals. Witherspoon finished the regular season with 28 tackles, a career-high nine pass deflections, and an interception returned for a touchdown. In the playoffs, he was demoted to a backup role to Emmanuel Moseley after a poor performance in the Divisional Round against the Minnesota Vikings. The 49ers went on to reach Super Bowl LIV, but lost 31-20 to the Kansas City Chiefs. Witherspoon finished the Super Bowl with one tackle.