Guillen, 47, replaces Jack McKeon, who took over the Marlins in June after Edwin Rodriguez suddenly resigned.
McKeon, at 80 the second-oldest man to manager a major-league team, said Monday he wouldn't return as manager for 2012.
Wednesday's announcement came just before the Marlins' final game of the season and in Sun Life Stadium. The team will move to a brand new stadium next year.
"Welcome to a new era in Marlins baseball," team owner Jeffrey Loria said.
"I've known Ozzie for 20 years and I could not be happier that he's going to lead us into the new stadium."
Guillen was released from his contract with the White Sox with a year left on the agreement. The White Sox will reportedly receive two minor leaguers from the Marlins as compensation.
Guillen's deal with Florida covers four seasons and is worth $10 million.
He managed the White Sox for eight seasons, building a 678-617 record and taking the team to its first World Series championship in 88 years with a sweep of the Houston Astros in 2005. Chicago was 78-82 under Guillen this year.