Canaries manager Paul Lambert told the club website: "It's great for the club and great for Wes himself and I'm delighted with it.
"We're trying to build things here and hopefully we can bring a few more in and keep it going."
Hoolahan joined the Canaries from Blackpool in the summer of 2008, with goalkeeper Matt Gils heading in the other direction.
He has gone on to feature 101 times for City, finding the net on 24 occasions.
The former Livingston and Shelbourne playmaker has one Republic of Ireland cap to his name.
Source: BBC Sport
Source: BBC Sport