The 38-year-old played for AC Milan between 2010 and 2012, before his adventures in France, England and the United States.
Ibrahimovic won the Serie A title with AC Milan in 2010-11 season, scoring 14 goals in 29 league appearances.
The Milan-based club have had a catastrophic fall from grace and have not won the league since 2010-11 season
Stefano Pioli’s men are currently 11th on the Serie A table and seven points off the relegation zone.
Milan's chief football officer Zvonimir Boban contacted Ibrahimovic after AC Milan’s 5-0 loss to Atalanta last month.
The former Inter Milan, Juventus and Barcelona striker insists he is back to help improve the club which has rich history in Italy and Europe.
"After Atalanta I got lots and lots of calls, it wasn't a difficult decision in the end," said Ibrahimovic.
"Last time I left Milan I didn't want to leave. Milan gave me the happiness of playing soccer, I hope this will be true again. Things need to be improved on the field and that's why I'm here.
"Milan is always AC Milan and the image of ACM is something that cannot be deleted, you can't change history."
Ibrahimovic will wear the famous number 21 shirt which was previously donned by his former team-mate Andrea Pirlo.