Weatheo

Report · Heat

Summer 2026 in 32 European cities: how far above normal the heat ran

We compared every day from June to August with the long-run normal in 32 European cities. Rome and Paris ran more than 3 °C above it; Helsinki, Warsaw and Kyiv had an ordinary summer.

By Published 6 min read

Summer 2026 was warmer than normal in 27 of the 31 European cities where our two data sources agree. Across all of them, June to August averaged +1.4 °C above the long-run normal for the same days. Rome led at +3.5 °C, followed by Paris (+3.4 °C) and Barcelona (+2.7 °C).

The figures come from OpenWeather’s hourly observation history for each city, aggregated into local days and compared with OpenWeather’s own normal for every calendar date. We then repeated the calculation with ERA5, the European reanalysis produced for Copernicus, against its 2011–2025 average. A city appears in the ranking only when the two anomalies agree to within 1.5 °C — 31 of 32 did.

+3.5 °C
Rome, the largest summer anomaly
83
days at 30 °C or more in Seville
92
nights that stayed above 20 °C in Valletta
41.7 °C
in Seville: the highest peak both datasets confirm

Key findings

  • 27 of 31 cities ran warmer than normal; the average anomaly was +1.4 °C (+2.5 °F).
  • Paris averaged 23.8 °C against a normal of 20.4 °C+3.4 °C — and logged 45 days at 30 °C or more (ERA5: 39).
  • 6 cities reached 40 °C at least once in OpenWeather’s record (Paris, Milan, Budapest, Valletta, Seville, Berlin); 3 did in both datasets.
  • June was the month furthest above normal on average: June +1.6 °C, July +1.0 °C, August +1.5 °C.
  • The coolest summer relative to normal among ranked cities was Helsinki’s, at −0.3 °C.

Summer 2026 compared with normal

Mean temperature, June–August 2026, minus the normal for the same days (°C)

−4 °C+4 °C−4 °C, −2 °C, ±0 °C, +2 °C, +4 °C
  1. Rome
    +3.5 °C
  2. Paris
    +3.4 °C
  3. Barcelona
    +2.7 °C
  4. London
    +2.7 °C
  5. Milan
    +2.6 °C
  6. Zagreb
    +2.6 °C
  7. Budapest
    +2.2 °C
  8. Zurich
    +2.1 °C
  9. Vienna
    +2.0 °C
  10. Valletta
    +1.9 °C
  11. Brussels
    +1.7 °C
  12. Dublin
    +1.7 °C
  13. Munich
    +1.6 °C
  14. Bucharest
    +1.5 °C
  15. Sofia
    +1.5 °C
  16. Belgrade
    +1.4 °C
  17. Amsterdam
    +1.3 °C
  18. Madrid
    +1.3 °C
  19. Lisbon
    +1.2 °C
  20. Prague
    +1.1 °C
  21. Athens
    +0.9 °C
  22. Copenhagen
    +0.8 °C
  23. Edinburgh
    +0.7 °C
  24. Seville
    +0.6 °C
  25. Berlin
    +0.4 °C
  26. Oslo
    +0.4 °C
  27. Stockholm
    +0.3 °C
  28. Istanbul
    ±0.0 °C
  29. Kyiv
    ±0.0 °C
  30. Warsaw
    −0.1 °C
  31. Helsinki
    −0.3 °C
Source: Weatheo analysis of OpenWeather hourly history; cross-checked against ERA5 (Copernicus/ECMWF) via Open-Meteo. Not ranked, because OpenWeather and ERA5 disagree on the anomaly by more than 1.5 °C: Reykjavik. Their figures are in the CSV.
Show the numbers
CityMeanNormalAnomalyAnomaly (ERA5)
Rome28.6 °C25.1 °C+3.5 °C+3.2 °C
Paris23.8 °C20.4 °C+3.4 °C+3.7 °C
Barcelona27.8 °C25.1 °C+2.7 °C+2.9 °C
London21.0 °C18.3 °C+2.7 °C+3.6 °C
Milan27.2 °C24.6 °C+2.6 °C+4.1 °C
Zagreb25.1 °C22.5 °C+2.6 °C+1.8 °C
Budapest25.2 °C23.0 °C+2.2 °C+2.5 °C
Zurich22.5 °C20.5 °C+2.1 °C+3.5 °C
Vienna23.5 °C21.6 °C+2.0 °C+2.5 °C
Valletta28.0 °C26.1 °C+1.9 °C+3.0 °C
Brussels20.5 °C18.8 °C+1.7 °C+2.5 °C
Dublin17.3 °C15.6 °C+1.7 °C+1.6 °C
Munich20.7 °C19.1 °C+1.6 °C+2.7 °C
Bucharest24.7 °C23.3 °C+1.5 °C+0.1 °C
Sofia22.8 °C21.4 °C+1.5 °C+1.2 °C
Belgrade24.9 °C23.5 °C+1.4 °C+1.4 °C
Amsterdam19.6 °C18.4 °C+1.3 °C+1.9 °C
Madrid27.4 °C26.1 °C+1.3 °C+2.3 °C
Lisbon22.5 °C21.3 °C+1.2 °C+1.8 °C
Prague21.2 °C20.1 °C+1.1 °C+1.2 °C
Athens28.7 °C27.8 °C+0.9 °C+1.0 °C
Copenhagen18.2 °C17.4 °C+0.8 °C+0.9 °C
Edinburgh15.4 °C14.7 °C+0.7 °C+1.2 °C
Seville28.0 °C27.4 °C+0.6 °C+0.7 °C
Berlin20.5 °C20.1 °C+0.4 °C+0.9 °C
Oslo17.1 °C16.7 °C+0.4 °C+0.6 °C
Stockholm17.7 °C17.4 °C+0.3 °C+0.5 °C
Istanbul24.9 °C24.9 °C±0.0 °C+0.8 °C
Kyiv21.4 °C21.4 °C±0.0 °C+0.4 °C
Warsaw20.3 °C20.4 °C−0.1 °C+0.2 °C
Helsinki16.7 °C16.9 °C−0.3 °C−0.2 °C

Where the season ran furthest above normal

Rome’s summer averaged 28.6 °C, and Paris — whose normal summer day is a mild 20.4 °C — spent the season +3.4 °C above it: at 23.8 °C, its summer was warmer than a normal one in Belgrade (23.5 °C). London ran +2.7 °C above its normal, with 17 days at 30 °C or more.

In Spain and Greece the anomaly was smaller, but the heat was relentless in absolute terms. Seville recorded 62 days at 35 °C or more (ERA5: 62) and Madrid 34 (ERA5: 43). Athens, which is used to heat, finished only +0.9 °C above its normal.

Which month carried the heat

Monthly mean temperature minus normal (°C), cities in ranking order

−5 °C+5 °C−5 °C, −3 °C, ±0 °C, +3 °C, +5 °C
CityJuneJulyAugust
Rome+3.1 °C+3.3 °C+4.1 °C
Paris+3.5 °C+3.6 °C+3.0 °C
Barcelona+2.8 °C+2.7 °C+2.6 °C
London+2.2 °C+3.1 °C+2.6 °C
Milan+2.5 °C+2.5 °C+2.9 °C
Zagreb+2.1 °C+1.6 °C+4.1 °C
Budapest+2.3 °C+0.9 °C+3.5 °C
Zurich+1.8 °C+1.7 °C+2.7 °C
Vienna+1.9 °C+1.3 °C+2.8 °C
Valletta+1.5 °C+0.8 °C+3.2 °C
Brussels+2.0 °C+1.7 °C+1.4 °C
Dublin+1.8 °C+2.1 °C+1.2 °C
Munich+1.5 °C+1.0 °C+2.3 °C
Bucharest+2.0 °C+0.6 °C+1.8 °C
Sofia+1.5 °C+0.4 °C+2.5 °C
Belgrade+1.1 °C+0.3 °C+2.9 °C
Amsterdam+1.8 °C+1.2 °C+0.9 °C
Madrid+2.8 °C+1.3 °C−0.2 °C
Lisbon+1.5 °C+1.5 °C+0.7 °C
Prague+1.7 °C+0.3 °C+1.3 °C
Athens+1.1 °C+0.3 °C+1.2 °C
Copenhagen+1.6 °C+0.9 °C±0.0 °C
Edinburgh+0.9 °C+0.7 °C+0.5 °C
Seville+2.1 °C+1.0 °C−1.2 °C
Berlin+1.2 °C−0.2 °C+0.2 °C
Oslo+0.8 °C+0.3 °C±0.0 °C
Stockholm+0.8 °C−0.3 °C+0.3 °C
Istanbul+0.7 °C−0.2 °C−0.3 °C
Kyiv−0.6 °C−0.9 °C+1.4 °C
Warsaw+0.7 °C−0.8 °C−0.1 °C
Helsinki+0.4 °C−0.7 °C−0.5 °C
Source: Weatheo analysis of OpenWeather hourly history; cross-checked against ERA5 (Copernicus/ECMWF) via Open-Meteo.

Hot days: the count that matters to people

An average hides how many days were genuinely hard to live through. Seville reached 30 °C on 83 of the 92 days of summer. North of the Alps, where many homes and offices have no air conditioning, Paris counted 45, Berlin 20 and London 17. Because a count of hot days depends on exactly where a dataset samples a city, the chart shows ERA5’s count beside OpenWeather’s.

Days that reached 30 °C

June–August 2026, the 15 cities with the most; bar: OpenWeather, tick: ERA5

OpenWeatherERA5 (cross-check)
  1. Seville
    83 / 86
  2. Rome
    80 / 84
  3. Madrid
    78 / 82
  4. Athens
    78 / 77
  5. Milan
    72 / 75
  6. Barcelona
    70 / 61
  7. Belgrade
    63 / 50
  8. Zagreb
    61 / 44
  9. Bucharest
    56 / 38
  10. Valletta
    53 / 77
  11. Budapest
    52 / 50
  12. Zurich
    48 / 41
  13. Sofia
    47 / 47
  14. Vienna
    45 / 41
  15. Paris
    45 / 39
Source: Weatheo analysis of OpenWeather hourly history; cross-checked against ERA5 (Copernicus/ECMWF) via Open-Meteo.
Show the numbers
CityDays ≥ 30 °C (OpenWeather)Days ≥ 30 °C (ERA5)
Seville8386
Rome8084
Madrid7882
Athens7877
Milan7275
Barcelona7061
Belgrade6350
Zagreb6144
Bucharest5638
Valletta5377
Budapest5250
Zurich4841
Sofia4747
Vienna4541
Paris4539
Istanbul3541
Munich3324
Kyiv2821
Brussels2519
Lisbon2335
Prague2222
Berlin2017
London1717
Warsaw1717
Amsterdam108
Oslo72
Copenhagen21
Stockholm11
Dublin00
Edinburgh00
Helsinki00
Reykjavik00

Nights that never cooled

Health services watch the nights as closely as the days, because a night that stays above 20 °C gives the body no chance to recover. Valletta had 92 such nights, out of 92. In Paris there were 27 (ERA5: 29), in London 8.

Tropical nights

Days whose lowest temperature stayed at or above 20 °C, June–August 2026; bar: OpenWeather, tick: ERA5

OpenWeatherERA5 (cross-check)
  1. Valletta
    92 / 91
  2. Athens
    90 / 85
  3. Barcelona
    84 / 81
  4. Rome
    80 / 78
  5. Milan
    75 / 74
  6. Seville
    71 / 73
  7. Istanbul
    67 / 53
  8. Madrid
    59 / 67
  9. Budapest
    41 / 38
  10. Bucharest
    36 / 22
  11. Belgrade
    34 / 44
  12. Zagreb
    33 / 35
  13. Lisbon
    30 / 18
  14. Paris
    27 / 29
  15. Vienna
    24 / 33
Source: Weatheo analysis of OpenWeather hourly history; cross-checked against ERA5 (Copernicus/ECMWF) via Open-Meteo.
Show the numbers
CityNights ≥ 20 °C (OpenWeather)Nights ≥ 20 °C (ERA5)
Valletta9291
Athens9085
Barcelona8481
Rome8078
Milan7574
Seville7173
Istanbul6753
Madrid5967
Budapest4138
Bucharest3622
Belgrade3444
Zagreb3335
Lisbon3018
Paris2729
Vienna2433
Warsaw1212
Prague1013
Kyiv915
London89
Berlin711
Zurich622
Amsterdam66
Sofia56
Munich310
Brussels214
Copenhagen12
Oslo01
Dublin00
Edinburgh00
Stockholm00
Helsinki00
Reykjavik00

Paris, day by day

Each stripe is one day of summer 2026, coloured by its mean temperature’s distance from normal

−8 °C+8 °C−8 °C, −4 °C, ±0 °C, +4 °C, +8 °C
JunJulAug
Source: Weatheo analysis of OpenWeather hourly history; cross-checked against ERA5 (Copernicus/ECMWF) via Open-Meteo.

Where the heat peaked

The highest single readings came in two bursts: the heatwave of the last week of June, which carried 40 °C from western France to Berlin, and a second surge in late July and early August over northern Italy and the Balkans. The highest peak that both datasets support was in Seville: 41.8 °C (107.2 °F) in OpenWeather on 22 July, 41.7 °C in ERA5. Single-day peaks are where the two sources differ most — Milan’s highest reading was 42.2 °C in OpenWeather but 37.9 °C in ERA5 — so the table shows both. We follow the June episode hour by hour in a separate report.

CityHighest (OpenWeather)DateHighest (ERA5)Date
Milan42.2 °C31 July37.9 °C6 August
Seville41.8 °C22 July41.7 °C1 August
Paris41.3 °C24 June40.3 °C24 June
Valletta41.3 °C26 August43.0 °C21 July
Berlin40.8 °C27 June39.6 °C28 June
Budapest40.5 °C30 June39.9 °C30 June
Zagreb39.9 °C4 August36.9 °C6 August
Vienna39.8 °C4 August39.5 °C4 August
Belgrade39.1 °C5 August37.7 °C20 August
Kyiv38.7 °C6 August37.6 °C6 August
Madrid38.4 °C23 June39.3 °C22 June
Prague38.4 °C28 June39.3 °C28 June

The exceptions

Northern Europe had an ordinary summer. Helsinki finished at −0.3 °C, Stockholm at +0.3 °C and Warsaw at −0.1 °C. Reykjavik is not ranked: OpenWeather puts its anomaly at −3.5 °C, ERA5 at −0.2 °C, and we do not publish a ranking position that depends on which dataset you pick.

How to use these figures

The normal is the average of recent years, not a pre-industrial baseline, so an anomaly of 3 °C here means three degrees above a period that was itself already warm. For France’s cities in detail, see our report on 25 French cities; for how the whole year compared, see the past twelve months in 87 cities. The complete table, with both sources’ values for every city, is in the CSV below.

Data and method

Hourly observations come from OpenWeather’s History API and long-run normals from its Statistical Weather Data API, computed for each city’s coordinates. A day counts when it has at least 20 hourly records, in the city’s local time.

Read the full methodology

Download the data (CSV) Free to reuse with credit to Weatheo and a link to this page.

How to cite

Weatheo Data Desk, “Summer 2026 in 32 European cities: how far above normal the heat ran”, Weatheo, 11 September 2026. https://weatheo.com/en/blog/summer-2026-europe-heat-report

Forecasts for the cities in this report

The local forecast, hour by hour and 14 days ahead, for each place quoted above.