The 34-year-old former Sweden international is a free agent after leaving Paris St Germain at the end of last season.
Ibrahimovic, who will link up with his former Inter Milan boss Jose Mourinho at Old Trafford, announced the move via his Instagram account.
The striker wrote: “Time to let the world know. My next destination is @manchesterunited.”
He will be United’s second signing of the summer after the £30million capture of Ivory Coast defender Eric Bailly from Villarreal.
Ibrahimovic, who has also played for Malmo, Ajax, Juventus, Barcelona and AC Milan, has won titles in four countries. He won Serie A under Mourinho at Inter in 2009.
Mourinho was appointed as United’s new manager in May following the departure of Louis van Gaal.
Ibrahimovic boasts fine pedigree and scored 38 goals last season as PSG won Ligue 1 – his fourth successive French league success.
He scored 62 goals in 116 appearances for Sweden before retiring from international football following their elimination from Euro 2016 last week. It was suggested he would continue to play in the Olympics later this summer but he declined that opportunity, clearing the way for him to join United.
Ibrahimovic seems unlikely to be the last addition to the United squad this summer with the club having been heavily linked with Borussia Dortmund playmaker Henrikh Mkhitaryan.