The Glasgow-born winger, 26, has moved from Carrow Road to the KC Stadium for an undisclosed transfer fee, believed to be in the region of £7million.
It is the second major signing of the close season for the Tigers, who last week bought former loanee Jake Livermore from Tottenham for a club record fee rising to £8m.
Like Livermore, Snodgrass fits manager Steve Bruce's preferred profile of players with Premier League experience, a model he enjoyed success with in Hull's first season back in the top flight.
Sunderland and Stoke had been linked with a move for the player, but are thought to have been put off by a price tag Hull were willing to meet.
"Having spoken to the owners and the manager here, and having seen the plans they have for this club, I was very keen to be a part of it all," said Snodgrass.
"Once the fee was agreed between the two clubs, it all happened very quickly and everything the club has done to get the deal completed has been unbelievable.
"This is the start of an exciting new chapter for me and for my family and I just can't wait to get started now."
Snodgrass moved to Norwich from Leeds United in 2012 for £3m and scored seven goals in 33 appearances for the Canaries last season. City were relegated to the Championship at the end of 2013/14 season after finishing in 18th place.
The Scot will join up with his new team-mates for the first time when the squad assembles for pre-season training next week.