Iranian search and rescue teams have found the black box voice and data recorders from a Kiev-bound Boeing 737 that crashed shortly after leaving Tehran’s main airport, Iran’s civil aviation authority said.

The Ukrainian airliner crashed into a field and burst into flames some 45 kilometres northwest of Imam Khomeini International Airport early before dawn Wednesday, killing all 176 people on board.

Among the victims were 82 Iranians, 63 Canadians, 11 Ukrainians, 10 Swedes, three Germans and three Britons, Ukrainian Foreign Minister Vadym Prystaiko said. Most passengers were in transit, the airline said.

Responsibility for investigating the crash lies with Iran, according to international rules. The head of Iran’s civil aviation organisation said it was not yet clear which country Iran would send the black boxes to for analysis, but it would not give them to Boeing.

Ukraine International Airlines said the plane was last serviced two days ago.

Initial statements by Iranian and Ukrainian authorities suggest the plane suffered an engine malfunction, but the airline did not outline any causes that might have led to the crash.

The incident occurred hours following an Iranian missile attack on US military bases in Iraq. Fars news agency said the crash was due to a "mechanical failure".

An official at Ukraine's embassy in Tehran said, according to Reuters, that Iranian authorities had asked it to rescind an initial statement from Iran based on preliminary information that had blamed the accident on engine failure.

Flowers, candles and a placard reading "Tehran-Kiev We mourn" placed outside the Iranian embassy in Kiev on 8 January 2020, in remembrance of the victims of the plane crash (AFP)

Reza Jafarzadeh, a spokesman for Iran’s Civil Aviation Organisation, told state TV early on Wednesday that rescue teams have been dispatched to the site of the crash.

"The plane is on fire but we have sent crews," he said, Reuters news agency reported.

The plane had departed from the Iranian capital at 6:12 am local time.

Iran's IRNA news agency posted a photo of what it said was the site of the crash, showing emergency personnel, a helicopter and large pieces of metal - supposedly debris from the incident - in an open field.

A flash in the sky

The plane had been delayed by an hour and it crashed near the Tehran suburb of Parand, IRNA said.

Boeing said it was aware of media reports about the crash and is still gathering information about the incident, Reuters said.

Iranian news agencies ran an amateur video allegedly showing the plane crashing. The footage, which was accompanied by comments that the plane was “on fire”, showed a flash in a dark sky descending, and then a brighter flash can be seen as it appears to hit the ground. The video has not been authenticated.

Asked at a briefing in Kiev if the plane could have been hit by a missile, Ukraine's Prime Minister Oleksiy Honcharuk cautioned against speculation until the results of the investigation were known.

Hours earlier, Iran had fired more than a dozen ballistic missiles at bases housing at least two Iraqi military bases hosting US-led coalition forces in retaliation for a US strike last week that killed top Iranian military commander Qassem Soleimani.

Some airlines, including Germany's Lufthansa, Dubai-based Emirates and low-cost flydubai, cancelled Iran and Iraq flights and re-routed others away from both countries' airspace following the missile strikes.

The Federal Aviation Administration barred American carriers from airspace over Iran, the Gulf of Oman and the waters between Iran and Saudi Arabia, citing "heightened military activities and increased political tensions in the Middle East, which present an inadvertent risk to U.S. civil aviation operations."