Climate and environment
Days above 30C
Mean number of days per year with a maximum air temperature above 30 degrees Celsius, over the stated climate normal period.
- Cities compared
- 36
- Median
- 3.5 d/yr
- Lowest · Helsinki
- 0.0 d/yr
- Highest · Valencia
- 50.3 d/yr
The reference is the median of the 36 cities published here, not a European average. Eurostat's EU aggregates are not collected yet, and deriving one from these cities would invent a figure no source publishes.
Ordered lowest to highest
This measure states no direction, because readers of this site want opposite things from it. The order is lowest to highest and nothing here says which end is better — that is yours to decide.
Every value is published at the same geographic level: Point. Period 1991-2020. Confidence confidence grade B throughout.
- Position1CopenhagenDenmark
0.0 d/yr
Copenhagen city point · [1] - Position2DublinIreland
0.0 d/yr
Dublin city point · [2] - Position3HelsinkiFinland
0.0 d/yr
Helsinki city point · [3] - Position4StockholmSweden
0.0 d/yr
Stockholm city point · [4] - Position5TampereFinland
0.3 d/yr
Tampere city point · [5] - Position6OsloNorway
0.4 d/yr
Oslo city point · [6] - Position7TallinnEstonia
0.5 d/yr
Tallinn city point · [7] - Position8The HagueNetherlands
0.6 d/yr
The Hague city point · [8] - Position9AmsterdamNetherlands
1.1 d/yr
Amsterdam city point · [9] - Position10VilniusLithuania
1.4 d/yr
Vilnius city point · [10] - Position11GdańskPoland
1.9 d/yr
Gdańsk city point · [11] - Position12UtrechtNetherlands
2.1 d/yr
Utrecht city point · [12] - Position13Luxembourg CityLuxembourg
2.9 d/yr
Luxembourg City city point · [13] - Position14GrazAustria
3.2 d/yr
Graz city point · [14] - Position15MunichGermany
3.2 d/yr
Munich city point · [15] - Position16BrusselsBelgium
3.3 d/yr
Brussels city point · [16] - Position17HamburgGermany
3.4 d/yr
Hamburg city point · [17] - Position18SalzburgAustria
3.4 d/yr
Salzburg city point · [18] - Position19ZurichSwitzerland
3.5 d/yr
Zurich city point · [19] - Position20WarsawPoland
4.7 d/yr
Warsaw city point · [20] - Position21BarcelonaSpain
5.5 d/yr
Barcelona city point · [21] - Position22WrocławPoland
6.1 d/yr
Wrocław city point · [22] - Position23ParisFrance
6.4 d/yr
Paris city point · [23] - Position24LjubljanaSlovenia
6.6 d/yr
Ljubljana city point · [24] - Position25PragueCzechia
6.7 d/yr
Prague city point · [25] - Position26BerlinGermany
6.8 d/yr
Berlin city point · [26] - Position27SplitCroatia
7.0 d/yr
Split city point · [27] - Position28ViennaAustria
12.4 d/yr
Vienna city point · [28] - Position29LisbonPortugal
13.5 d/yr
Lisbon city point · [29] - Position30BratislavaSlovakia
14.9 d/yr
Bratislava city point · [30] - Position31LyonFrance
15.3 d/yr
Lyon city point · [31] - Position32PortoPortugal
15.3 d/yr
Porto city point · [32] - Position33ZagrebCroatia
19.6 d/yr
Zagreb city point · [33] - Position34MilanItaly
24.7 d/yr
Milan city point · [34] - Position35BolognaItaly
49.1 d/yr
Bologna city point · [35] - Position36ValenciaSpain
50.3 d/yr
Valencia city point · [36]
Each bar grows from the median towards the side its value falls on. The two halves are scaled independently, so the lowest and highest values reach their ends even when the spread is uneven: a bar's length is comparable with others on the same side of the median, not across it.
How this measure is built
- Definition
- Mean number of days per year with a maximum air temperature above 30 degrees Celsius, over the stated climate normal period.
- Calculation
- count of local days whose hourly maximum 2 m temperature exceeds 30 C, averaged across the 30 complete years in 1991-2020
- Position
- The median, the gap and the rank are arithmetic over the values in this table and can be recomputed from it. They are not a score, carry no weighting, and combine with nothing else on the site.Read the method
36 referencesEvery figure's exact source query
Copernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, copenhagen. Copenhagen city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 55.6800,12.5700; nearest grid point 55.7000,12.5000; variables 2m_temperature, total_precipitation; local days in Europe/CopenhagenCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, dublin. Dublin city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 53.3500,-6.2600; nearest grid point 53.3000,-6.3000; variables 2m_temperature, total_precipitation; local days in Europe/DublinCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, helsinki. Helsinki city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 60.1700,24.9400; nearest grid point 60.2000,24.9000; variables 2m_temperature, total_precipitation; local days in Europe/HelsinkiCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, stockholm. Stockholm city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 59.3300,18.0700; nearest grid point 59.3000,18.1000; variables 2m_temperature, total_precipitation; local days in Europe/StockholmCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, tampere. Tampere city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 61.5000,23.7500; nearest grid point 61.5000,23.7000; variables 2m_temperature, total_precipitation; local days in Europe/HelsinkiCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, oslo. Oslo city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 59.9100,10.7300; nearest grid point 59.9000,10.7000; variables 2m_temperature, total_precipitation; local days in Europe/OsloCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, tallinn. Tallinn city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 59.4400,24.7500; nearest grid point 59.4000,24.7000; variables 2m_temperature, total_precipitation; local days in Europe/TallinnCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, the_hague. The Hague city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.0700,4.3000; nearest grid point 52.1000,4.3000; variables 2m_temperature, total_precipitation; local days in Europe/AmsterdamCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, amsterdam. Amsterdam city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.3700,4.9000; nearest grid point 52.4000,4.9000; variables 2m_temperature, total_precipitation; local days in Europe/AmsterdamCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, vilnius. Vilnius city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 54.6900,25.2800; nearest grid point 54.7000,25.3000; variables 2m_temperature, total_precipitation; local days in Europe/VilniusCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, gdansk. Gdańsk city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 54.3500,18.6500; nearest grid point 54.3000,18.7000; variables 2m_temperature, total_precipitation; local days in Europe/WarsawCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, utrecht. Utrecht city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.0900,5.1200; nearest grid point 52.1000,5.1000; variables 2m_temperature, total_precipitation; local days in Europe/AmsterdamCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, luxembourg_city. Luxembourg City city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 49.6100,6.1300; nearest grid point 49.6000,6.1000; variables 2m_temperature, total_precipitation; local days in Europe/LuxembourgCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, graz. Graz city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 47.0700,15.4400; nearest grid point 47.1000,15.4000; variables 2m_temperature, total_precipitation; local days in Europe/ViennaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, munich. Munich city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 48.1400,11.5800; nearest grid point 48.1000,11.6000; variables 2m_temperature, total_precipitation; local days in Europe/BerlinCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, brussels. Brussels city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 50.8500,4.3600; nearest grid point 50.8000,4.4000; variables 2m_temperature, total_precipitation; local days in Europe/BrusselsCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, hamburg. Hamburg city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 53.5500,9.9900; nearest grid point 53.5000,10.0000; variables 2m_temperature, total_precipitation; local days in Europe/BerlinCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, salzburg. Salzburg city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 47.8000,13.0400; nearest grid point 47.8000,13.0000; variables 2m_temperature, total_precipitation; local days in Europe/ViennaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, zurich. Zurich city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 47.3800,8.5400; nearest grid point 47.4000,8.5000; variables 2m_temperature, total_precipitation; local days in Europe/ZurichCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, warsaw. Warsaw city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.2300,21.0100; nearest grid point 52.2000,21.0000; variables 2m_temperature, total_precipitation; local days in Europe/WarsawCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, barcelona. Barcelona city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 41.3900,2.1700; nearest grid point 41.4000,2.1000; variables 2m_temperature, total_precipitation; local days in Europe/MadridCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, wroclaw. Wrocław city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 51.1100,17.0400; nearest grid point 51.1000,17.0000; variables 2m_temperature, total_precipitation; local days in Europe/WarsawCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, paris. Paris city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 48.8600,2.3500; nearest grid point 48.9000,2.3000; variables 2m_temperature, total_precipitation; local days in Europe/ParisCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, ljubljana. Ljubljana city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 46.0600,14.5100; nearest grid point 46.1000,14.5000; variables 2m_temperature, total_precipitation; local days in Europe/LjubljanaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, prague. Prague city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 50.0800,14.4400; nearest grid point 50.1000,14.4000; variables 2m_temperature, total_precipitation; local days in Europe/PragueCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, berlin. Berlin city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 52.5200,13.4000; nearest grid point 52.5000,13.4000; variables 2m_temperature, total_precipitation; local days in Europe/BerlinCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, split. Split city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 43.5100,16.4400; nearest grid point 43.6000,16.5000; variables 2m_temperature, total_precipitation; local days in Europe/ZagrebCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, vienna. Vienna city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 48.2100,16.3700; nearest grid point 48.2000,16.4000; variables 2m_temperature, total_precipitation; local days in Europe/ViennaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, lisbon. Lisbon city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 38.7200,-9.1400; nearest grid point 38.7000,-9.1000; variables 2m_temperature, total_precipitation; local days in Europe/LisbonCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, bratislava. Bratislava city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 48.1500,17.1100; nearest grid point 48.1000,17.1000; variables 2m_temperature, total_precipitation; local days in Europe/BratislavaCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, lyon. Lyon city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 45.7600,4.8400; nearest grid point 45.8000,4.8000; variables 2m_temperature, total_precipitation; local days in Europe/ParisCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, porto. Porto city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 41.1600,-8.6300; nearest grid point 41.2000,-8.6000; variables 2m_temperature, total_precipitation; local days in Europe/LisbonCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, zagreb. Zagreb city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 45.8200,15.9800; nearest grid point 45.8000,16.0000; variables 2m_temperature, total_precipitation; local days in Europe/ZagrebCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, milan. Milan city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 45.4700,9.1800; nearest grid point 45.5000,9.2000; variables 2m_temperature, total_precipitation; local days in Europe/RomeCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, bologna. Bologna city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 44.4900,11.3400; nearest grid point 44.5000,11.3000; variables 2m_temperature, total_precipitation; local days in Europe/RomeCopernicus Climate Change Service. ERA5-Land hourly point time series, 1991-2020, valencia. Valencia city point. Retrieved 2026-08-01. Open exact source query
dataset reanalysis-era5-land-timeseries; requested 39.4700,-0.3800; nearest grid point 39.5000,-0.4000; variables 2m_temperature, total_precipitation; local days in Europe/Madrid