Club captain Hanley, 29, who started in all three of his country's group games at Euro 2020, will remain at Carrow Road until 2025.
Norwich boss Daniel Farke told the newly-promoted Premier League club's official website: "It's great news for us. We're absolutely delighted to have Grant with us for the coming years.
"I have been working with him for many years now and it has been a pleasure. He's a great character."