A huge sandstorm and record winds has killed at least four people in Tehran, plunging Iran's capital into darkness during rush hour and forcing thousands to run for cover.

The freak weather struck at 5.10pm, knocking down trees and sweeping other debris across streets and into the windscreens of cars as people headed home from work.

State media reported 110-km per hour winds at the peak of the disruption.

Power supplies were knocked out in at least 50,000 homes, an electricity official said, and the weather smashed windows and caused telecommunication towers to topple and masonry to fall off buildings.

Forecasters on state television initially warned Tehranis to stay indoors, shortly before the ISNA news agency said the fatalities had been caused by falling trees.

Amin Saberinia, Iran's chief emergency official, announced the deaths and said at least 27 people were injured, 10 of them in a road accident when the gloom suddenly descended.

State television later reported that two of those injured in the storm were in critical condition.

Almost 7,000 emergency workers were deployed within the hour, city officials said, and Ahad Vazifeh, in charge of government weather forecasts, cautioned of more bad weather lasting into Wednesday.

After a 15-minute blackout caused by the initial force of the sandstorm hit, rains arrived with winds remaining strong.

Pictures posted on social media showed a gigantic sand cloud filling the city's skyline, before it turned dark and outside temperatures plunged from 33C-18C.

Flights out of Tehran were delayed, Fars news agency said, quoting airport officials.

Internet and telephone services were heavily affected, with lines going down before returning intermittently.