Climate and environment
Mean temperature, July
Mean daily air temperature in July, averaged over the stated climate normal period at the city's representative point.
- Cities compared
- 36
- Median
- 18.9°C
- Lowest · Dublin
- 15.1°C
- Highest · Valencia
- 25.7°C
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.
- Position1DublinIreland
15.1°C
Dublin city point · [1] - Position2OsloNorway
17.2°C
Oslo city point · [2] - Position3TampereFinland
17.4°C
Tampere city point · [3] - Position4CopenhagenDenmark
17.7°C
Copenhagen city point · [4] - Position5StockholmSweden
17.7°C
Stockholm city point · [5] - Position6AmsterdamNetherlands
17.8°C
Amsterdam city point · [6] - Position7The HagueNetherlands
17.8°C
The Hague city point · [7] - Position8HelsinkiFinland
17.9°C
Helsinki city point · [8] - Position9SalzburgAustria
18.0°C
Salzburg city point · [9] - Position10TallinnEstonia
18.0°C
Tallinn city point · [10] - Position11Luxembourg CityLuxembourg
18.1°C
Luxembourg City city point · [11] - Position12MunichGermany
18.1°C
Munich city point · [12] - Position13UtrechtNetherlands
18.1°C
Utrecht city point · [13] - Position14BrusselsBelgium
18.3°C
Brussels city point · [14] - Position15HamburgGermany
18.4°C
Hamburg city point · [15] - Position16VilniusLithuania
18.5°C
Vilnius city point · [16] - Position17GdańskPoland
18.6°C
Gdańsk city point · [17] - Position18ZurichSwitzerland
18.7°C
Zurich city point · [18] - Position19GrazAustria
19.2°C
Graz city point · [19] - Position20PragueCzechia
19.5°C
Prague city point · [20] - Position21BerlinGermany
19.6°C
Berlin city point · [21] - Position22ParisFrance
19.6°C
Paris city point · [22] - Position23WarsawPoland
19.8°C
Warsaw city point · [23] - Position24WrocławPoland
19.9°C
Wrocław city point · [24] - Position25LjubljanaSlovenia
20.6°C
Ljubljana city point · [25] - Position26PortoPortugal
20.9°C
Porto city point · [26] - Position27LyonFrance
21.2°C
Lyon city point · [27] - Position28ViennaAustria
21.2°C
Vienna city point · [28] - Position29BratislavaSlovakia
21.6°C
Bratislava city point · [29] - Position30LisbonPortugal
21.7°C
Lisbon city point · [30] - Position31ZagrebCroatia
22.2°C
Zagreb city point · [31] - Position32SplitCroatia
22.7°C
Split city point · [32] - Position33BarcelonaSpain
23.4°C
Barcelona city point · [33] - Position34MilanItaly
23.6°C
Milan city point · [34] - Position35BolognaItaly
25.3°C
Bologna city point · [35] - Position36ValenciaSpain
25.7°C
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 daily air temperature in July, averaged over the stated climate normal period at the city's representative point.
- Calculation
- mean of daily mean 2 m air temperature over July, averaged across the 30 complete July months 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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