The Englishman has captained the side to the Scottish Premiership title this season as the club claimed their 55th league title.
Tavernier has been linked with a move back to England with reported interest from the Premier League. However, with the defender close to entering the final year of his deal he has committed his future to Rangers
The 29-year-old is closing in on 300 appearances having signed from Wigan Athletic nearly six years ago under Mark Waburton.
“I am delighted to extend my contract at this magnificent club,” he told the Rangers website. “As soon as I arrived six years ago, I soon realised how massive this club is.
“It isn’t a club really - it’s an institution. To captain Rangers to our historic 55th title is a memory I will hold forever. It is a privilege and an honour to pull on the famous royal blue, and adding the captain’s armband makes it even more special.
“As we celebrate our 150th anniversary, I am mindful that there is much more work to be done to ensure we uphold the values of Rangers.
"I will continue to strive to be better as a player, captain and make sure we continue to set the standard higher than before. 55 wasn’t the end of the journey, it was only the beginning.”
Tavenier has had a hugely influential role in the club’s first top-flight title since 2011, scoring and assisting 20 goals in the Premiership this campaign.
“I am delighted to secure the services of our captain on a new long-term deal,” Steven Gerrard said.
"This shows the ambition of both James and the club as we continue to drive forward to fulfil our ambitions, both domestically and in Europe. James has been a consistent performer for me since I made the decision to hand him the captain’s armband in 2018.
“His leadership is obvious both on the field and in the dressing room as well. He commands respect but ensures he leads with action and not words.
“James can continue to improve, as I know he is hungry to become a better version of himself on a daily basis.”