The three-year contract is worth more than $15 million guaranteed, a source told ESPN's Jerry Crasnick.
"I'm so honored to be here," Thames told reporters Tuesday. "Last year, two years, three years ago, I had no idea what the future had in store for me and I'm very fortunate that David and the Brewers' organization looked at me with hope and believe in me and believe in my talent set."
Carter tied for the National League lead in home runs with 41 in 2016, his one season with the Brewers after signing for $2.5 million. He is eligible for arbitration, and the Brewers have until 10 days to attempt to trade the 29-year-old slugger.
"A trade is a distinct possibility," general manager David Stearns said.
Thames, 30, had a .348 average over the past three seasons for the NC Dinos in the Korean Baseball Organization, winning MVP honors in 2015 after becoming the first KBO player to hit 40 homers and steal 40 bases in a season. He again hit 40 home runs and had 118 RBIs in 2016.
"Eric brings to the organization a left-handed power bat that is a good fit for our lineup," Stearns said in a statement. "His ability to play first base along with both corner outfield positions adds versatility to the roster. Eric has been extremely impressive over his last three seasons in Korea, and we look forward to his return to the Major Leagues in 2017."
Thames previously played with the Toronto Blue Jays (2011-12) and the Seattle Mariners (2012), hitting .250 in 181 games with 21 home runs and 82 RBIs before signing to play in Korea in December 2013. He was selected by the Blue Jays in the seventh round of the 2008 MLB first-year player draft out of Pepperdine University.
Carter tied for the National League lead last season with 41 home runs and is expected to receive a big raise via arbitration. He also led the NL with a team-record 206 strikeouts, and he hit .222 with a team-high 94 RBIs last season.
Thames' contract includes a provision that prohibits the Brewers from sending him to the minors without his permission, a source said, even though he has a minor-league option remaining from his previous MLB tenure.
"I'm excited to add someone like Eric," Brewers manager Craig Counsell said. "His journey thus far is inspiring. You always respect and admire someone who has gone through a journey like this and ended up in a place like this and a day like this. You also respect and understand that someone like him is going to feel like he has more to do, and that his journey is not finished. That sets him up to have success here, and I'm excited he has chosen this as the place to continue his journey."
His deal also includes a provision that prevents the Brewers from offering him salary arbitration and allows him to become a free agent at the conclusion of his contract, the source said. Thames currently has one year-plus of MLB service time and will be short of the six-year free agency threshold at the end of his deal with the Brewers. He'll have less than six years of service time regardless of whether the Brewers exercise their 2020 option.
ESPN Staff Writer Jerry Crasnick contributed to this report.