The 28-year-old counts Huddersfield Town and Blackburn Rovers amongst his previous clubs, and now becomes Norwich's sixth signing of the summer.
Rhodes has established himself as one of the best strikers at Championship level, racking up an impressive 193 goals in 395 career appearances.
Speaking to canaries.co.uk, Rhodes said:
“It’s a fantastic football club with a great fanbase and if I play a few games this season, it will be a pleasure to do so.
“I’m looking forward to getting settled and starting up and playing a few games with the team. I’m really looking forward to pulling on the yellow and green jersey.
“It’s a sell-out every week and there are a few familiar faces here that I already know. They’ve made me feel really welcome already.
Norwich manager Daniel Farke said the club are 'very pleased' to bring Rhodes to Carrow Road, and hailed the Scotland international's attitude on the pitch.
“We’re very pleased. Jordan has proved for many years that he’s able to play at this level and to score and assist," he said. “We were looking to strengthen our squad in terms of scoring goals and assists and he’s also at a great age where he can develop his game even more.
“I also like a lot his attitude on the pitch. He always works hard for the team and he’s a brilliant character. He was desperate to join us and I’m pleased that he’s here.”