The contract includesan opt-out after the second year, which would allow Upton to go back on the market as a free agent at age 30, a source confirmed to Crasnick.
A three-time All-Star, the 28-year-old spent the past season with the San Diego Padres and batted .251 with 26 homers and 81 RBIs.
With Upton agreeing to move to Detroit and Chris Davis agreeing to re-sign with the Baltimore Orioles,Yoenis Cespedes is left as the biggest bat on the free-agent market.
Upton, who is expected to play left field, will join a Tigers team looking to win now. After a disappointing 74-88 campaign, owner Mike Ilitch opened up his wallet this offseason, having also signed pitcher Jordan Zimmermann to a five-year, $110 million contract.
Upton and Zimmermann will join a Tigers team that will expect bounce-back seasons from Miguel CabreraandJustin Verlander,who both battled through injuries in 2015.
Last season was a bit of a struggle for Upton as well. The right-handed slugger batted just .191 and hit only three of his 26 home runs against left-handed pitching.
He might, however, enjoy his new home ballpark. Upton, who has spent his entire career in the National League, has hit .324 in nine games at Comerica Park. That is his third-best batting average in any stadium in which he has played a minimum of five games.
Tigers continue go-for-it mentality by signing Justin Upton
Jerry Crasnick explains why the Tigers decided to sign outfielder Justin Upton to a six-year contract.