The 19-year-old, who has agreed a three-and-a-half year deal, will return to the League One side on loan for the remainder of the season.
Canaries manager Alex Neil said: "We're delighted to sign James as he is a fantastic prospect."
Maddison made his debut for Coventry in 2014 and has gone on to make another 30 appearances for the club.
Find all the latest football transfers on our dedicated page.
Norwich City have signed midfielder James Maddison from Coventry City for an undisclosed fee.