July is the hottest month in Tehran with an average temperature of 30°C (86°F) and the coldest is January at 4°C (39°F).The 'Fall' season (20 sep-20 Nov) or Spring (20 march-20 Jun) in Iran is characterized by relatively mild and pleasant weather conditions.
High Season (Mar–May)
Ideal temperatures in most of Iran with generally mild, clear weather.
Prices are highest and crowds biggest during Nowruz (New year /21 March to 3 April), especially at Esfahan, Shiraz, Yazd and the Persian Gulf coast. Prices in hotels go up and availability goes down
Shoulder Season (Jun–Nov)
Warm weather in June and July and August with average temperature of 30°C (86°F).
September and especially October temperatures moderate.
Prices slightly lower than March to May.
Low Season (Dec–Feb)
Extreme cold, especially in the northeast and west, but good for skiing.
Some mountain roads can be impassable.
Hotel prices are discounted by 10% to 50% and there are fewer crowds.