The deal with the two-time defending AL West champions also includes an option for a seventh year, according to FanRag Sports Network, which first reported the deal.
The 23-year-old Odor, who played for Venezuela during the World Baseball Classic, had a huge season with the Rangers in 2016, hitting .271 with 33 home runs, 88 RBIs, 89 runs and a .798 OPS. He also had 14 stolen bases.
Odor made headlines last season after his brawl with Toronto's Jose Bautista, which resulted in an eight-game suspension.
Bautista slid at Odor's legs in the midst of a double play during a game on May 16. Players from both teams rushed the field, and Odor shoved Bautista and then landed a punch to his face. Bautista had reached base after being hit by a pitch.
Since being called up by the Rangers in 2014, Odor has hit 58 home runs with 197 RBIs and 182 runs.
The deal comes on the heels of the Rangers reaching an extension with backup catcher Robinson Chirinos through the 2018 season, with a team option for 2019. Starting catcher Jonathan Lucroy, who was acquired from the Brewers at the trade deadline last season and can become a free agent after the 2017 season, told the Fort Worth Star-Telegram that extension talks with him have been tabled.
Pitcher Yu Darvish, who will make his first Opening Day start for the Rangers, has not received an offer for an extension this spring.