The 26-year-old's arrival follows that of former loan signing Jake Livermore, who sealed a permanent move for a club record ree rising to £8m last week.
Snodgrass had a year left on his Norwich contract but wanted to avoid dropping down a division following the Canaries' relegation from the Premier League last season.
The 2013/14 campaign saw Snodgrass score seven goals in 34 appearances for Norwich.
"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," Snodgrass told Hull's website after signing a three-year contract.
"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."