The executive summary
Spring (March–May) and autumn (September–November) are the two perfect windows: warm days, cool nights, manageable crowds. Summer bakes the interior; winter is ideal for the Sahara but chilly at night elsewhere.
January–February
Cold nights (5–10°C) in Marrakech and Fes, snow on Atlas peaks, perfect Sahara clarity. Crowds low, prices low. Pack layers.
March
Sweet spot starts. Almond blossoms in the Atlas, warm days (20–25°C), cool nights. Book hostels 2+ weeks ahead for Easter week.
April
Peak visual season — green hills, wildflowers, perfect desert temps. Prices rise. Book well ahead.
May
Last gentle month before summer. 25–30°C in Marrakech. Rose Festival in Kelaat M’Gouna (first weekend). Essaouira Gnawa Festival late May/early June.
June
Temperatures climb fast inland. Great for the coast (Essaouira, Agadir) — terrible for Merzouga unless you love 45°C heat.
July–August
Avoid the interior unless your hostel has air-con and a pool. Essaouira, Agadir and the Rif mountains are fine — windy, coastal, 25°C. Prices peak on the coast.
September
The other perfect month — summer crowds gone, temps dropping back to 28°C in the interior. Locals consider this the best month.
October
Warm days (23–28°C), cool nights, desert stable. Fes Festival of Amazigh Culture. Best hiking month in the High Atlas.
November
Shoulder season — cooler (18–22°C) but still great. Very few crowds. Prices drop 20–30%. Rain possible in the north.
December
Cold nights, crisp desert days, Christmas crowds in Marrakech. Low prices overall. Pack a fleece for the Sahara.
Ramadan considerations
Dates shift yearly (~11 days earlier each year). During Ramadan, many medina cafés close during daytime but nightlife explodes at iftar. Travel is possible but slower — check dates before booking.