In general terms, the best time to visit Iran is in the Spring or the Fall. However, you can travel there at any time of the year. It should also be kept in mind that the Iranian New Year celebration, Nowruz, begins on March 20 or 21 and lasts for 12 days.
It is possible to travel during that period if that is the only time you can go, but it is better not to, since hotels are more crowded and travel in general is more difficult.
All that being said, the best times to travel would be
- early April after Nowruz, until mid-May.
- Mid-September until mid-November.
- Early March before Nowruz.
All other times are possible, but it gets pretty hot in the summer, especially in the south. And it gets cold in the winter, especially in the north. (However, if you want to go skiing, winter is the time to go). That does not mean you cannot travel at those times, but you should keep the climate conditions in mind. If you are not bothered by the heat then the summer can be a good time, because things are less crowded. But it does get hot.
If you want to ski, there are high mountains within 45 minutes of Tehran where you can enjoy a unique ski experience. Let us know if you are interested.