Margot can earn an additional $1.2 million in bonuses based on plate appearances, according to a source who requested anonymity because the deal was still pending a physical.
The 30-year-old Margot had signed a minor league contract with Milwaukee last month, but the Brewers released him on Saturday.
With outfielders Parker Meadows and Matt Vierling injured, Detroit needed additional outfield depth. The Tigers are set to face the Los Angeles Dodgers on Thursday night for opening day.
Last season, Margot played 129 games for Minnesota, batting .238 with a .289 on-base percentage, four home runs, 31 RBIs, and five steals. He played all three outfield positions during his only season with the Twins.
Margot made his MLB debut with San Diego in 2016. Over his career, he has a .254 batting average with 56 home runs and 314 RBIs in 917 games, also spending four seasons with Tampa Bay.