Christian Pulisic, 24, has signed a four-year deal with the Serie A side, with the option of a further year after leaving Chelsea.
He scored 26 goals in 145 games at Chelsea and played in the 2021 Champions League final win over Manchester City.
However Christian Pulisic became surplus to requirements at Stamford Bridge, scoring only once in his final season.
"It was a difficult last few season with Chelsea. For whatever reason I wasn't getting the opportunities I wanted," he told a news conference for his unveiling.
"For me it's a brilliant opportunity to step away, get a fresh start and play for a big team like this."
Now a Milan player, the American international is hoping for a fresh start and believes he could have been given more chances to prove his worth, telling ESPN: 'Of course. I'd like to think so.
'Of course there are definitely times where I wish I could've gotten more of an opportunity and been that guy but yeah, for whatever reason, that's not the case and like I said, I'm just so excited for this new challenge and I'm definitely ready and up for it.
Chelsea released a statement confirming the transfer, saying: "We wish Christian well and thank him for all his contributions during his time at the club."
Christian Pulisic joined Chelsea from Borussia Dortmund in a £57.6m move in 2019 that made him the most expensive player from North America.
The Pennsylvania native has also been capped 60 times by his country.
His switch to Serie A sees him linking up with former Chelsea team-mate Ruben Loftus-Cheek, who has also joined Milan this summer.
The departures have included Kai Havertz moving to Arsenal, Mateo Kovacic joining Manchester City and Mason Mount making the switch to Manchester United.
Cesar Azpilicueta has joined Atletico Madrid on a free transfer, while other exits have seen Kalidou Koulibaly, Edouard Mendy and N'Golo Kante move to the Saudi Pro League, joining Al-Hilal, Al-Ahli and Al-Ittihad respectively.