The Northern Ireland international will complete his move to Carrow Road on July 1, subject to the relevant paperwork being completed.
The 26-year-old former Burnley and Rangers man, capped 37 times by his country, has penned a three-year deal with an option for a further year and becomes Neil Adams' second signing after fellow forward Lewis Grabban's arrival from Bournemouth.
"Norwich is a team that wants to get promoted back to the Premier League at the first opportunity, so I'm excited to come here and start playing football for a team like this," Lafferty, who scored 11 times during his season in Italy, told the club's official website.
"I've played in the Championship before and I've played against Norwich, and things I noticed about the club were the fans and the football they played.
"Speaking to the gaffer, everything he said and everything he wants me to do, it's good to have someone like that believing in me. I can't wait to get started."