At least 28 people have been killed and 800 injured in a massive explosion at one of Iran's key ports, authorities say.

The blast took place at Shahid Rajaee, the country's largest commercial port, near the southern city of Bandar Abbas on Saturday morning.

It blew out windows and roofs of nearby buildings and destroyed cars. Residents reported feeling the impact of the blast up to 50km (31 miles) away. Six people remain unaccounted for, state media reports.

Videos verified by the BBC show a fire growing in intensity before a huge explosion, with people subsequently fleeing the blast and others lying wounded on roads surrounded by smoking debris.

"The entire warehouse was filled with smoke, dust and ashes. I don't remember if I went under the table or was thrown there by the blast," one person who was in the area told Iranian state TV.

Aerial footage showed at least three areas ablaze and Iran's interior minister later confirmed that the fire was spreading from one container to another. Schools and offices in the region have been ordered to remain closed on Sunday.

One private maritime risk consultancy said it believed the affected containers had contained solid fuel destined for ballistic missiles.

The fire was the result of "improper handling of a shipment of solid fuel intended for use in Iranian ballistic missiles", Ambrey Intelligence said.