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.
[6] He had five private workouts and visits with the Indianapolis Colts, New Orleans Saints, Philadelphia Eagles, San Francisco 49ers, and Seattle Seahawks.
[12] Throughout training camp, Witherspoon competed against Dontae Johnson, Rashard Robinson, and Keith Reaser for a role as a starting cornerback.
[13] Head coach Kyle Shanahan named him the fourth cornerback on the depth chart to begin the season, behind Dontae Johnson, Rashard Robinson, and Keith Reaser.
On October 8, 2017, Witherspoon made his professional regular season debut, but was limited to one solo tackle during a 26–23 overtime loss at the Indianapolis Colts.
[15] Prior to Week 8, defensive coordinator Robert Saleh promoted Witherspoon to a starter to replace Rashard Robinson who was benched after repetitive penalties and was subsequently 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.
On December 18, 2018, the San Francisco 49ers officially placed Witherspoon on injured reserve for the rest of the season (Weeks 16–17) due to a knee injury.
[21] He ended his sophomore season in the NFL with a total of 37 combined tackles (30 solo), four passes defended, and a fumble recovery in 14 games and 12 starts.
He finished the regular season with 28 combined tackles (24 solo), a career-high nine pass deflections, an interception, and a touchdown in ten games and eight starts.
The San Francisco 49ers finished the 2019 NFL season first in the NFC West with a 13–3 record and clinched a playoff berth and a first round bye.