Norman reunites with Bills head coach Sean McDermott, who was his defensive coordinator with the Carolina Panthers from 2012-15.
Norman's agreement with the Bills was first reported by NFL Network.
The Bills' starting cornerback opposite All-Pro Tre'Davious White is currently undecided.
Second-year corner Levi Wallace has started 23 games for Buffalo over the past two seasons, including all 16 regular-season games in 2019. The team signed former Texans first-round pick Kevin Johnson in 2019, but both Johnson and Wallace are free agents this offseason. Buffalo holds the exclusive rights to sign Wallace.
Bills general manager Brandon Beane confirmed at the NFL combine that the team spoke with Norman after his release from Washington. Buffalo will likely retain Wallace, but signing Norman adds another veteran voice to the cornerback room that both Beane and McDermott have publicly sought.
Even after a 10-6 season and playoff appearance in 2019, the Bills are loaded with a projected $82 million of salary-cap space in 2020.
The Washington Redskins released Norman on Feb. 14, after he had spent four seasons with the team. Norman told NBC Sports Washington that new Redskins coach Ron Rivera, who coached the cornerback in Carolina, called him to inform him of the release.
The move saved the Redskins $12.5 million in cap space. It was widely expected, even though Washington hired Rivera after the season. Norman's best work came in Carolina, where he was named a first-team All-Pro after the 2015 season.
That honor coincided with Norman's first venture into free agency. After the Panthers rescinded the franchise tag they had placed on Norman, he quickly signed a five-year deal with Washington worth up to $75 million, making him the NFL's highest-paid cornerback.
Norman, 32, intercepted seven passes and forced eight fumbles in his four seasons with Washington, but he didn't provide the game-changing plays that he did in his final season with the Panthers. That season, he intercepted four passes, returning two for touchdowns, and forced three fumbles as Carolina reached the Super Bowl.
Washington benched Norman late last season. He played in only two games, covering 10 snaps, over the final six games. In another game, his only work was two special-teams snaps. Even as the Redskins needed to sign other cornerbacks off the street, they held firm to not playing Norman.
Norman has been one of the more outspoken NFL players, known for feuds with receivers Odell Beckham Jr. and Dez Bryant. He also appeared on "Dancing with the Stars" in 2018. That summer, Norman also made a trip to San Antonio to deliver goods to migrant families who had been in detention at the border. Last offseason, he ran with the bulls in Pamplona, Spain.
He has 14 interceptions, 79 passes defensed, 12 forced fumbles, a sack and 416 tackles in eight NFL seasons.
ESPN's Marcel Louis-Jacques and John Keim contributed to this report.