The 48-year-old was discovered on Friday near the seaside resort of Zeebrugge, wearing a makeshift life jacket made of empty plastic bottles and carrying a small bag with his identity papers, the prosecutor's office in Bruges said.
“It's the first time we've found the body of a migrant,” Carl Decaluwe, the governor of western Flanders province where Zeebrugge is located, told AFP Monday.
Officials believe the man drowned while trying to swim from a beach in northern France to Britain. Currents are thought to have transported his body to Belgian waters.
He was found drifting near a wind farm some 30 kilometres off Zeebrugge, the Belgian news agency Belga reported.
He had attempted the swim after failing to obtain asylum in Germany, according to the agency.
Eight days before the Iraqi's body was found, a Belgian sailor had spotted a man wearing a belt made of empty plastic bottles crying for help in waters off the French coast of Dunkirk.
The sailor had informed French maritime authorities of the August 18 incident, saying he had tried to save the man, but he was swept away by a current.
Migrants are taking ever greater risks to reach Britain from France, which has taken an uncompromising approach towards so-called economic migrants who come to Europe in search of a better life in contrast with those fleeing war or persecution.
Since January, some 1,450 migrants have been rescued either by British or French coastguards, more than double the number who attempted to cross the busy shipping channel in the whole of 2018, according to official French figures released Monday.