Choo, who must pass a physical before the deal is complete, according to a source, was the premier offensive player left on the market after Robinson Cano signed with Seattle and Jacoby Ellsbury went to the New York Yankees.
The deal doesn't include an opt-out clause, the source said. But it does include a limited no-trade provision and performance bonus package.
Choo was one of the top leadoff hitters in the majors for the Cincinnati Reds in 2013 with a .423 on-base percentage, a .285 batting average, 21 homers, 54 RBIs, 20 steals and 107 runs scored.
Choo, 31, is a .288 career hitter with a .389 on-base percentage in nine seasons with Seattle, Cleveland and Cincinnati.
His on-base percentage ranked second to Reds teammate Joey Votto in the National League in 2013, when Choo finished 12th in NL MVP balloting.
But Choo has a history of struggling against left-handed pitching. Choo has a .309 career batting average and a .932 OPS against right-handed pitching, compared to .243 and .680 against lefties. He batted .317 against righties and .215 vs. lefties last season.
Choo joins Alex Rios and Leonys Martin in Texas' 2014 outfield. The Rangers had also been talking about re-signing outfielder Nelson Cruz, but are expected to drop that pursuit now that they've agreed with Choo.
The Rangers will have to forfeit their first-round draft pick to sign Choo. But Texas would receive a pick as compensation if Cruz signs elsewhere.
CBSSports.com earlier reported Choo's agreement with the Rangers.
The Reds made a $14.1 million qualifying offer to Choo and he rejected it earlier this month. Choo avoided arbitration with the Reds last season by agreeing to a one-year, $7,375,000 deal.
Information from The Associated Press was used in this report.