WeatherJourney.com

Milan weather by month: averages, rainfall & climate trends

Italy's fashion and finance capital sits in the foggy, fertile Po Valley, ringed by distant mountains: a humid climate of hot, sultry summers and cold, still, mist-prone winters in one of Europe's least breezy cities. Milan weather by month: average temperatures, rainfall, records and how the climate has changed since 1940.

Today vs average

+0.5°Chigh near average

19° / 14°Today
19° / 10°Average
see today in detail →

How it's changed

+2.9°Caverage temperature, 2016–2025 vs 1940–1949average temperature vs 1940–4926frost days a year now (2016–2025) · 81 in the 1940sfrost days a year · 81 in the 1940s50days above 30°C a year now (2016–2025) · 13 in the 1940sdays above 30°C · 13 in the 1940s+2.9°C vs the 1940s · see how it's changed →
Weather by montha typical year, averaged over the full recordJanuary, rain 66 mmhigh 6°low −1°February, rain 65 mmhigh 9°low 1°March, rain 82 mmhigh 13°low 4°April, rain 108 mmhigh 18°low 8°May, rain 123 mmhigh 22°low 13°June, rain 108 mmhigh 26°low 16°July, rain 90 mmhigh 29°low 19°August, rain 111 mmhigh 28°low 18°September, rain 108 mmhigh 24°low 15°October, rain 123 mmhigh 18°low 10°November, rain 120 mmhigh 11°low 5°December, rain 72 mmhigh 7°low 1°wettest month October, 123 mm · 1,177 mm a yearsee month by month →

Right now

What it's doing today vs the historical average for this date.
Partly cloudy

Right now

18.0°

18°feels like
81%humidity
15°dew point
12 km/hfrom E
UV index1.7
sunrise07:35sunset18:43day length11h 08m
TodayPartly cloudy19°14°
TueMostly clear20°13°
WedClear22°13°
ThuClear22°12°
FriOvercast20°14°
SatOvercast20°12°
SunPartly cloudy21°12°

On this date: October 12

Today (forecast)
19° / 14°
Average for October 12
19° / 10°

High near average · +0.5°C

  • Record high: 26.2° · 2011
  • Record low: 3.7° · 1952
  • One year ago: 22° / 14°

Every October 12 in history, coldest to hottest

▲ Daily highs▼ Daily lows

Dots show daily highs (top) and lows (bottom) for each October 12 on record (n = 87). Outlined dots are today's forecast.

Area we sample

Each city's history comes from one ERA5 grid cell, about 28 km across, shown by the dashed box. Near mountains or coasts, conditions can vary across the cell.

Location & data

Historical weather for Milan is sampled from the ECMWF ERA5 reanalysis at 45.46°N, 9.19°E, with daily records since 1940.

Coordinates
45.46°N, 9.19°E
Time zone
Europe/Rome
Period
1940–2026
Data source
ERA5 (ECMWF)

Last 30 days

31 of the last 31 days were warmer than the historical average for that date. Average difference: +2.9°C.

Each bar is one day, from morning low to afternoon high. Warm-colored bars are days whose mean ran above average; cool bars ran below. The dot inside the bar is the daily mean. The shaded band is the typical 10–90% range expected for that date. Average = the day's mean temperature averaged across every year of record (1940–2026) for that calendar date.

This date over the years

One dot per year, showing the mean temperature on this calendar date. Dots are warmer or cooler than the long-term average (dashed line); the shaded band is the typical 10–90% range, and the highlighted dot is today's forecast. Based on ERA5 reanalysis: modelled estimates, not station readings.

Weather by month

Average temperatures and rainfall for each month: a typical year, from the full record.

Climate overview

Milan has a humid subtropical climate (Köppen Cfa), lying in the north-western Po Valley and almost enclosed by the Alps and the Apennines. Those mountains form a barrier that shields the plain from northern weather systems and leave Milan among the least windy cities in Europe. The trapped, stagnant air makes for hot, humid summers and cold winters in which cold air pools close to the ground.

That stagnation has long given Milan its grey, foggy winters, and, with little wind to disperse it, a persistent problem with winter air pollution. The fog for which the city was once famous has, however, greatly diminished since the turn of the 21st century. Heavy snow is occasional rather than routine on the plain.

The warmest month is July, with typical afternoon highs of 28.7°C and nights around 18.7°C. Roughly 50 days a year now top 30°C. In January, the coolest month, afternoons reach about 5.9°C and nights dip to −0.7°C.

In total, Milan averages about 1,177 mm of precipitation a year; October is usually the wettest month (123 mm) and February the driest (65 mm).

The record here starts in 1940, and since then the annual mean in Milan has climbed 2.9°C from the first ten years to the last ten. Where the first decade averaged 80 frost days a year, the recent one saw about 25.

Sources:en.wikipedia.orgbritannica.com

Climate graph (climograph)

July is the warmest month, January the coolest: a yearly swing of 21°C. Wettest month: October (~123 mm). Whole year averages ~1,177 mm of rain.

Bars = average monthly rainfall (right axis). Lines = average daily high and low (left axis). Average = each month's value averaged across every year of record (1940–2026).

Rainy days by month

About 96 rainy days a year: most in May (~10), fewest in February (~6).

Bars = average number of days with ≥ 2 mm per month. Hover for the monthly rainfall total.

Monthly wind

Average daily peak wind at 10 m, by month.

Monthly solar energy

Average daily incoming solar energy in megajoules per square metre: the record's own proxy for how sunny the month is.

Milan month by month: what to expect

Typical conditions for each month, averaged across the full record (since 1940). Daylight is the time from sunrise to sunset. Record high/low are the most extreme values in the ERA5 dataset (modelled since 1940), so they can differ from official weather-station readings.

MonthAvg highAvg lowRainRainy daysDaylightRecord highRecord low
January5.9°−0.7°66 mm68.9 h18.4° (2007)−16.5° (1945)
February8.7°0.7°65 mm610.1 h21.0° (2019)−17.8° (1956)
March13.5°4.4°82 mm711.6 h26.1° (2005)−9.9° (1964)
April17.5°8.4°108 mm1013.3 h30.9° (2011)−3.2° (2003)
May21.9°12.6°123 mm1014.7 h34.7° (2009)1.3° (1984)
June26.1°16.4°108 mm915.5 h38.9° (2019)8.0° (1986)
July28.7°18.7°90 mm815.1 h38.1° (1983)9.8° (1948)
August28.0°18.4°111 mm813.9 h39.4° (2003)10.0° (1940)
September23.7°14.6°108 mm812.3 h34.4° (1962)5.6° (1972)
October17.5°10.0°123 mm810.7 h28.7° (2023)−3.1° (1997)
November11.1°4.7°120 mm89.2 h20.9° (2004)−5.1° (1989)
December6.8°0.6°72 mm68.5 h18.8° (2023)−12.1° (1946)

How it's changed

Year-by-year signals from 1940 to today.

Climate stripes

Annual mean shifted from 1940–1949 to 2016–2025 by +2.9°C.

Each vertical stripe is one year. Color encodes how much that year's annual mean differed from the long-term average. Average = each year's annual mean compared to the average of all years (1940–2026). cooler ← → warmer

Annual mean temperature

Long-term trend: +0.37°C per decade.

One point per year, showing the temperature averaged across the whole year. The dashed line is the least-squares long-term trend. Based on ERA5 reanalysis: modelled estimates, not station readings.

Seasonal warming

Jun–Aug is warming fastest: +0.46°C per decade.

Each faint line is one three-month period's average per year; the bold dashed line is its long-term trend. Different parts of the year often warm at different rates. Based on ERA5 reanalysis: modelled estimates, not station readings.

Hot days vs frost days

Days ≥ 30°C per year: 13.1 early in the record → 49.9 recently. Frost days: 81 → 26.

Thin lines are raw yearly counts; thick lines are the smoothed trend that removes year-to-year noise. The hot-day threshold is auto-picked per city so the line actually moves. Average = a centered 5-year rolling average to smooth weather noise.

Yearly hot & cold extremes

All-time high in 2003, all-time low in 1956: 39.4°C / −17.8°C.

One point per year: the single hottest and coldest day recorded that year.

Annual rainfall

~1,177 mm/year on average. Last decade: +5% vs that average. Long-term trend: +15 mm per decade.

One bar per year of total rainfall. Dashed line is the long-term average. Average = the average annual rainfall across every year of record (1940–2026).

Day-by-day grid

Each tiny square is one calendar day across the full record, about 30,000 days per city. Use the mode switch above the chart: Anomaly colors each day by how far it ran from the historical average for that date (red = warmer, blue = cooler), Daily mean temp shows the absolute mean temperature for the day (useful to see seasons and heatwaves), and Precipitation shows daily rainfall (useful to spot wet/dry seasons and droughts). Average = the long-term average for that calendar date (1940–2026).

Frequently asked questions about Milan

Which is the warmest month in Milan?
On long-term average, the warmest month in Milan is July (mean daily temperature of about 23.7°C) and the coolest is January (about 2.2°C).
How does today's temperature in Milan compare to the historical average?
On October 12, 2026, Milan is forecast to reach a high of 19.2°C and a low of 14.1°C. The long-term average for this date (the full record since 1940) is a high of 18.7°C and a low of 10.4°C, so today's high is about equal to that average.
How much has Milan warmed since 1940?
Comparing the first decade of the record (1940–1949) with the most recent (2016–2025), the annual mean temperature in Milan is about 2.9°C warmer.
How much does it rain in Milan?
Milan receives about 1,177 mm of precipitation per year on long-term average, with October typically the wettest month.
What is the average temperature in Milan?
Over the full record (since 1940), the annual mean temperature in Milan is about 13.1°C. The warmest month is July and the coolest is January.
What are the average temperatures in Milan by month?
Average daily highs and lows for each month in Milan (°C, full record since 1940): January 6°/−1°, February 9°/1°, March 13°/4°, April 18°/8°, May 22°/13°, June 26°/16°, July 29°/19°, August 28°/18°, September 24°/15°, October 18°/10°, November 11°/5°, December 7°/1°.
What is the weather like in Milan in summer?
Summer in Milan (June to August) is wet and warm. Daytime highs sit at 26–29°C and nights at 16–19°C; July is the warmest month. Rain falls on about 9 days a month, adding up to around 103 mm.
What is the weather like in Milan in winter?
Winter in Milan (December to February) is cold. Afternoons run 6–9°C and nights −1 to 1°C; January is the coldest month. Rain is steady at around 68 mm a month, spread over roughly 6 days. No season is drier.
What is the weather like in Milan in spring?
In spring, March through May, Milan is wet and fairly mild. March is still 13°C in the afternoon and 4°C at night, May already 22°C and 13°C. Rain picks up through the season: 7 rainy days and 82 mm in March, 10 days and 123 mm in May.
What is the weather like in Milan in autumn?
Autumn in Milan (September to November) is wet and fairly mild. September still brings 24°C afternoons and 15°C nights, November only 11°C and 5°C. Rain is steady at around 117 mm a month, spread over roughly 8 days.
How many days a year does it rain in Milan?
On long-term average, Milan has about 96 days a year with at least 2 mm of rain or snow. The annual total is roughly 1,177 mm.

Weather in nearby cities