Iran has admitted it "unintentionally" shot down a passenger jet, killing all 176 on board, in a dramatic turnaround of its earlier denials of responsibility.

Iran's president Hassan Rouhani on Saturday tweeted that "human error" was responsible for the "horrific crash" of the Ukraine International Airlines flight PS752 earlier this week.

He expressed his "sincerest condolences" to all the victims' families and deep regret for the "disastrous mistake".

"Armed Forces’ internal investigation has concluded that regrettably missiles fired due to human error caused the horrific crash of the Ukrainian plane ' death of 176 innocent people," the president wrote on Twitter.

"Investigations continue to identify ' prosecute this great tragedy ' unforgivable mistake. #PS752

"The Islamic Republic of Iran deeply regrets this disastrous mistake.

"My thoughts and prayers go to all the mourning families. I offer my sincerest condolences."

“A sad day,” Iran’s Foreign Minister Mohammad Javad Zarif tweeted on Saturday afternoon.

“Human error at time of crisis caused by US adventurism led to disaster.

"Our profound regrets, apologies and condolences to our people, to the families of all victims, and to other affected nations.”

'Disastrous mistake': Iran admits ‘unintentionally’ shooting plane_1
Inset: Relatives, colleagues, and friends of crew members of the flight which crashed near Tehran lay flowers and light candles at Boryspil International Airport in Kiev, Ukraine. Photo: AAP

Earlier on Friday, the country's head of civil aviation denied reports Iran was to blame as “illogical rumours”.

“Scientifically, it is impossible that a missile hit the Ukrainian plane and such rumours are illogical,” the semi-official ISNA News Agency quoted Ali Abedzadeh as saying.

But then the US and Canada, citing intelligence, said they believed Iran shot down the aircraft.

Dramatic footage emerged on Friday afternoon, verified by The New York Times, which appeared to show a small explosion mid-air over Parand, a city near the airport, with plane continuing to fly for several minutes before crashing.

It then crashed on the outskirts of Tehran during takeoff just hours after Iran launched a barrage of missiles at US forces in neighbouring Iraq.

The plane, en route to the Ukrainian capital of Kiiv, was carrying 167 passengers and nine crew members from several countries, including 82 Iranians, 63 Canadians and 11 Ukrainians, according to officials.

Canadian Prime Minister Justin Trudeau told reporters on Friday morning (Australian time) he had received intelligence the plane was shot down by an Iranian missile.

"The evidence indicates that the plane was shot down by an Iranian
surface-to-air missile. This may well have been unintentional," he said.

"This new information reinforces the need for a thorough investigation into this matter."

Prime Minister Scott Morrison told the ABC a few hours later Australia had received the same intelligence as the US and Canada and, "it does not suggest that this was intentional".

with agencies