Norman signed a one-year deal with the Niners on Monday, the team announced. To make room for him on the roster, San Francisco released veteran cornerback Dontae Johnson.
The 49ers add Norman to a cornerback group that currently has just two rookies -- Ambry Thomas and Deommodore Lenoir -- behind outside starters Jason Verrett and Emmanuel Moseley and nickel corner K'Waun Williams.
Norman, 33, spent last season with the Buffalo Bills, starting three games and appearing in 12, including the playoffs. He had 24 tackles, a forced fumble, a fumble recovery and an interception in nine regular-season games.
Norman teased he was joining the 49ers via social media over the weekend. On Friday, he tweeted, "Wonder what's the temperature in Cali right about now" and followed on Sunday by tweeting, "In the Final hours before the breaking point. A decision has been made! Now there's only one thing left to do..."
San Francisco will be Norman's fourth NFL team after he spent five seasons with the Carolina Panthers and four with the Washington Football Team before joining the Bills last season. During his time in Carolina, Norman was a first-team All-Pro in 2015 and earned a Pro Bowl nod that season. He has 15 career interceptions.
The 49ers open the season Sunday against the Detroit Lions at Ford Field.