Milan has four distinct seasons, but the bigger factor for planning a trip here isn't the weather — it's the city's packed calendar of fashion and design events, which can double hotel prices overnight regardless of what month you land in.

April to June and September to October: the shoulder sweet spot

These stretches bring Milan's most comfortable weather — mild temperatures, manageable crowds, and the city's parks and canal-side Navigli district at their best. This is generally considered the ideal window for walking-heavy sightseeing between the Duomo, Sforza Castle, and the historic center without fighting summer heat or winter fog.

June to August: hot, and empty in a different way

Summer temperatures regularly push past 30°C (86°F), and the city has a reputation for humid, muggy heat that can make midday sightseeing uncomfortable. August in particular is unusual: many locals leave for vacation, and a real share of shops, restaurants, and even some attractions scale back hours or close entirely, giving the city an oddly quiet, hollowed-out feel compared to its usual pace.

November to March: cold, foggy, and event-driven pricing

Winters are generally mild by northern European standards but often gray and foggy, with occasional cold snaps. This is otherwise Milan's low season for hotel prices — except around two major exceptions: Fashion Week (held twice a year, in February/March and September) and the Salone del Mobile design fair in April, both of which can send hotel rates sharply higher and book out rooms well in advance, even outside the main tourist season.

Practical notes

The short version

April–June and September–October give you Milan's best weather-to-crowd ratio. Summer is hot with an unusually quiet August. Winter is cold and foggy but generally cheap — unless your dates overlap Fashion Week or the Salone del Mobile, in which case prices and crowds spike regardless of season.