Weatheo

Report · Heat

France’s summer 2026 in 25 cities: hot days, tropical nights and 40 °C peaks

Every one of the 25 French cities we measured ran warmer than normal between June and August. The heat was not only a Mediterranean story: Paris, Tours and the Loire valley were among the furthest above their normals.

By Published 6 min readFrançais

Summer 2026 was warmer than normal in all 24 French cities where our two sources agree, by an average of +2.6 °C over June, July and August. The smallest anomaly, in Montpellier, was still +1.8 °C.

11 of the 25 cities reached 40 °C at least once in OpenWeather’s hourly record, and 8 did so in ERA5 too. The highest temperature both datasets support was in Bordeaux: 43.5 °C in OpenWeather and 41.4 °C in ERA5, on 23 June, during the heatwave of the last week of June. OpenWeather’s single highest reading, 44.3 °C in Rennes, is not confirmed by ERA5 (40.2 °C).

+3.5 °C
Nice: largest anomaly
79
days at 30 °C or more in Nîmes (ERA5: 77)
78
tropical nights in Nice (ERA5: 72)
70
consecutive days at 30 °C in Nice

Key findings

  • All 24 ranked cities were warmer than normal; 8 were at least 3 °C above.
  • Paris averaged 23.8 °C, +3.4 °C above normal, with 45 days at 30 °C or more and 21 at 35 °C.
  • Counting only days both sources agree on, Avignon had the most at 35 °C or more (31), ahead of Nîmes (31) and Lyon (27).
  • The seven Mediterranean cities averaged 76 days at 30 °C and an anomaly of +2.4 °C; six cities of the north and west averaged fewer hot days (41) but a larger anomaly, +2.8 °C.
  • Nice’s hottest spell ran 70 days in a row at 30 °C or more, from 17 June to 25 August.

How far each city’s summer ran above 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. Nice
    +3.5 °C
  2. Paris
    +3.4 °C
  3. Tours
    +3.4 °C
  4. Grenoble
    +3.2 °C
  5. Dijon
    +3.1 °C
  6. Limoges
    +3.0 °C
  7. Lyon
    +3.0 °C
  8. Nantes
    +3.0 °C
  9. Toulouse
    +2.9 °C
  10. Bordeaux
    +2.8 °C
  11. Rennes
    +2.8 °C
  12. Avignon
    +2.6 °C
  13. Marseille
    +2.6 °C
  14. Metz
    +2.4 °C
  15. Perpignan
    +2.4 °C
  16. Lille
    +2.2 °C
  17. Nîmes
    +2.2 °C
  18. Reims
    +2.1 °C
  19. Ajaccio
    +2.0 °C
  20. Brest
    +2.0 °C
  21. Strasbourg
    +2.0 °C
  22. Le Havre
    +1.9 °C
  23. Biarritz
    +1.8 °C
  24. Montpellier
    +1.8 °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: Clermont-Ferrand. Their figures are in the CSV.
Show the numbers
CityMeanNormalAnomalyAnomaly (ERA5)
Nice27.8 °C24.3 °C+3.5 °C+2.8 °C
Paris23.8 °C20.4 °C+3.4 °C+3.7 °C
Tours24.2 °C20.7 °C+3.4 °C+3.8 °C
Grenoble24.5 °C21.3 °C+3.2 °C+3.2 °C
Dijon23.8 °C20.8 °C+3.1 °C+3.2 °C
Limoges23.3 °C20.2 °C+3.0 °C+4.5 °C
Lyon25.1 °C22.1 °C+3.0 °C+3.9 °C
Nantes22.8 °C19.8 °C+3.0 °C+3.9 °C
Toulouse25.7 °C22.8 °C+2.9 °C+3.6 °C
Bordeaux24.8 °C22.1 °C+2.8 °C+3.4 °C
Rennes21.6 °C18.7 °C+2.8 °C+3.4 °C
Avignon27.1 °C24.6 °C+2.6 °C+2.1 °C
Marseille27.5 °C24.9 °C+2.6 °C+2.9 °C
Metz22.3 °C19.9 °C+2.4 °C+3.2 °C
Perpignan27.1 °C24.7 °C+2.4 °C+3.0 °C
Lille21.0 °C18.8 °C+2.2 °C+2.6 °C
Nîmes26.8 °C24.6 °C+2.2 °C+2.7 °C
Reims21.5 °C19.4 °C+2.1 °C+2.8 °C
Ajaccio26.4 °C24.4 °C+2.0 °C+2.6 °C
Brest19.0 °C17.0 °C+2.0 °C+2.9 °C
Strasbourg23.0 °C21.0 °C+2.0 °C+3.1 °C
Le Havre19.8 °C17.9 °C+1.9 °C+2.6 °C
Biarritz22.4 °C20.6 °C+1.8 °C+3.0 °C
Montpellier26.4 °C24.6 °C+1.8 °C+3.3 °C

A northern summer that felt southern

The ranking upends the usual map of French heat. The cities furthest above their normals include Paris (+3.4 °C), Tours (+3.4 °C) and Dijon (+3.1 °C) — places whose normal summer is mild — while Montpellier (+1.8 °C) and Perpignan (+2.4 °C) sit lower in the table. On the Atlantic side, Nantes ran +3.0 °C and Rennes +2.8 °C above normal; even Brest, the coolest city in the set, was +2.0 °C warmer than usual.

June, July or August?

Monthly mean temperature minus normal (°C)

−5 °C+5 °C−5 °C, −3 °C, ±0 °C, +3 °C, +5 °C
CityJuneJulyAugust
Nice+3.8 °C+3.7 °C+3.0 °C
Paris+3.5 °C+3.6 °C+3.0 °C
Tours+3.5 °C+3.8 °C+3.0 °C
Grenoble+2.9 °C+3.4 °C+3.3 °C
Dijon+3.0 °C+3.0 °C+3.2 °C
Limoges+3.1 °C+3.3 °C+2.7 °C
Lyon+2.8 °C+2.8 °C+3.5 °C
Nantes+2.7 °C+3.7 °C+2.6 °C
Toulouse+2.5 °C+3.7 °C+2.5 °C
Bordeaux+2.7 °C+3.3 °C+2.2 °C
Rennes+2.7 °C+3.2 °C+2.6 °C
Avignon+2.3 °C+2.7 °C+2.8 °C
Marseille+2.1 °C+2.7 °C+3.0 °C
Metz+2.2 °C+2.3 °C+2.6 °C
Perpignan+2.2 °C+2.7 °C+2.2 °C
Lille+2.2 °C+2.6 °C+1.9 °C
Nîmes+1.9 °C+2.3 °C+2.4 °C
Reims+2.0 °C+2.0 °C+2.3 °C
Ajaccio+1.4 °C+1.8 °C+2.7 °C
Brest+1.8 °C+2.4 °C+1.8 °C
Strasbourg+2.1 °C+1.8 °C+2.2 °C
Le Havre+1.3 °C+2.2 °C+2.2 °C
Biarritz+1.8 °C+1.8 °C+1.7 °C
Montpellier+1.5 °C+1.8 °C+2.1 °C
Source: Weatheo analysis of OpenWeather hourly history; cross-checked against ERA5 (Copernicus/ECMWF) via Open-Meteo.

Days at 30 °C and 35 °C

Counted in days, the south still dominates: Nîmes reached 30 °C on 79 days (ERA5: 77) and Avignon on 79 (75). But the count reached well into the north and centre too: Tours logged 67 days at 30 °C and Limoges 58. The two sources differ most on these counts, and most of all on the coast: for Marseille, OpenWeather has 49 days at 35 °C, ERA5 only 8, because ERA5’s 30 km cell mixes in the cooler sea. Both are drawn.

Days at 30 °C or more

June–August 2026; bar: OpenWeather, tick: ERA5

OpenWeatherERA5 (cross-check)
  1. Nîmes
    79 / 77
  2. Avignon
    79 / 75
  3. Marseille
    78 / 56
  4. Perpignan
    77 / 68
  5. Nice
    77 / 64
  6. Ajaccio
    74 / 73
  7. Toulouse
    69 / 58
  8. Montpellier
    67 / 71
  9. Tours
    67 / 44
  10. Lyon
    61 / 59
  11. Bordeaux
    61 / 46
  12. Grenoble
    58 / 69
  13. Limoges
    58 / 47
  14. Dijon
    52 / 39
  15. Clermont-Ferrand
    49 / 40
  16. Nantes
    49 / 38
  17. Strasbourg
    48 / 39
  18. Paris
    45 / 39
  19. Metz
    45 / 39
  20. Reims
    34 / 29
  21. Rennes
    34 / 25
  22. Lille
    31 / 22
  23. Biarritz
    28 / 21
  24. Le Havre
    22 / 13
  25. Brest
    10 / 14
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)
Nîmes7977
Avignon7975
Marseille7856
Perpignan7768
Nice7764
Ajaccio7473
Toulouse6958
Montpellier6771
Tours6744
Lyon6159
Bordeaux6146
Grenoble5869
Limoges5847
Dijon5239
Clermont-Ferrand4940
Nantes4938
Strasbourg4839
Paris4539
Metz4539
Reims3429
Rennes3425
Lille3122
Biarritz2821
Le Havre2213
Brest1014

Days at 35 °C or more

June–August 2026; bar: OpenWeather, tick: ERA5

OpenWeatherERA5 (cross-check)
  1. Marseille
    49 / 8
  2. Avignon
    45 / 31
  3. Nîmes
    44 / 31
  4. Toulouse
    39 / 27
  5. Bordeaux
    39 / 20
  6. Tours
    30 / 16
  7. Lyon
    29 / 27
  8. Limoges
    25 / 18
  9. Perpignan
    25 / 15
  10. Nantes
    22 / 16
  11. Paris
    21 / 13
  12. Dijon
    20 / 10
  13. Grenoble
    18 / 29
  14. Strasbourg
    18 / 14
  15. Clermont-Ferrand
    18 / 9
  16. Metz
    15 / 11
  17. Montpellier
    14 / 32
  18. Rennes
    14 / 10
  19. Nice
    14 / 3
  20. Reims
    7 / 8
  21. Lille
    7 / 5
  22. Ajaccio
    6 / 11
  23. Le Havre
    5 / 4
  24. Biarritz
    2 / 7
  25. Brest
    1 / 1
Source: Weatheo analysis of OpenWeather hourly history; cross-checked against ERA5 (Copernicus/ECMWF) via Open-Meteo.
Show the numbers
CityDays ≥ 35 °C (OpenWeather)Days ≥ 35 °C (ERA5)
Marseille498
Avignon4531
Nîmes4431
Toulouse3927
Bordeaux3920
Tours3016
Lyon2927
Limoges2518
Perpignan2515
Nantes2216
Paris2113
Dijon2010
Grenoble1829
Strasbourg1814
Clermont-Ferrand189
Metz1511
Montpellier1432
Rennes1410
Nice143
Reims78
Lille75
Ajaccio611
Le Havre54
Biarritz27
Brest11

Tropical nights

A tropical night — one that never drops below 20 °C — is where coastal cities pull ahead, because the sea keeps their nights warm. Nice had 78 (ERA5: 72), Perpignan 71 (81) and Marseille 76 (69). Paris had 27, Lyon 31.

Nights that stayed at or above 20 °C

June–August 2026; bar: OpenWeather, tick: ERA5

OpenWeatherERA5 (cross-check)
  1. Nice
    78 / 72
  2. Marseille
    76 / 69
  3. Perpignan
    71 / 81
  4. Ajaccio
    61 / 66
  5. Montpellier
    59 / 67
  6. Nîmes
    58 / 65
  7. Avignon
    57 / 62
  8. Grenoble
    41 / 36
  9. Toulouse
    35 / 49
  10. Lyon
    31 / 49
  11. Bordeaux
    30 / 40
  12. Biarritz
    27 / 42
  13. Paris
    27 / 29
  14. Tours
    21 / 29
  15. Strasbourg
    17 / 27
  16. Dijon
    17 / 25
  17. Metz
    15 / 21
  18. Nantes
    14 / 24
  19. Clermont-Ferrand
    10 / 27
  20. Rennes
    10 / 15
  21. Limoges
    9 / 27
  22. Le Havre
    5 / 12
  23. Lille
    5 / 9
  24. Reims
    3 / 19
  25. Brest
    1 / 8
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)
Nice7872
Marseille7669
Perpignan7181
Ajaccio6166
Montpellier5967
Nîmes5865
Avignon5762
Grenoble4136
Toulouse3549
Lyon3149
Bordeaux3040
Biarritz2742
Paris2729
Tours2129
Strasbourg1727
Dijon1725
Metz1521
Nantes1424
Clermont-Ferrand1027
Rennes1015
Limoges927
Le Havre512
Lille59
Reims319
Brest18

The peaks

13 of the 25 cities set their summer high between 22 and 29 June, in the heatwave that crossed the country from the south-west; the rest peaked in July or August. The table lists each city’s highest reading in both datasets. These are not official Météo-France station records, which are measured under standard conditions at specific sites and can differ from both.

CityHighest (OpenWeather)DateHighest (ERA5)Date
Rennes44.3 °C23 June40.2 °C23 June
Nantes44.2 °C24 June41.2 °C23 June
Bordeaux43.5 °C23 June41.4 °C23 June
Tours43.0 °C25 June40.3 °C23 June
Nîmes41.9 °C8 July40.5 °C8 July
Toulouse41.4 °C23 June39.9 °C23 June
Paris41.3 °C24 June40.3 °C24 June
Limoges41.0 °C22 June40.2 °C22 June
Perpignan40.4 °C8 July41.2 °C8 July
Metz40.2 °C29 July39.2 °C27 June
Dijon40.1 °C27 June37.4 °C27 June
Marseille39.7 °C13 August37.4 °C8 July
Clermont-Ferrand39.7 °C27 June37.6 °C27 June
Montpellier39.7 °C8 July41.9 °C8 July
Strasbourg39.6 °C26 June38.8 °C27 June
Avignon39.1 °C7 July38.3 °C13 August
Lille39.1 °C14 August37.0 °C14 August
Lyon38.9 °C13 August38.4 °C21 June
Ajaccio38.8 °C27 August38.1 °C14 July
Reims38.1 °C13 August37.9 °C26 June
Grenoble37.6 °C27 June38.2 °C3 August
Nice37.5 °C29 June35.3 °C29 June
Le Havre36.6 °C13 August38.2 °C25 June
Biarritz35.4 °C12 July40.6 °C24 June
Brest35.3 °C25 June38.3 °C24 June

Not ranked: Clermont-Ferrand, where OpenWeather and ERA5 disagree on the anomaly by more than 1.5 °C. Their figures from both sources are in the CSV.

For the rest of Europe, see summer 2026 in 32 European cities; for the late-June heatwave day by day, the June heatwave in numbers. Cet article existe aussi en français.

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, “France’s summer 2026 in 25 cities: hot days, tropical nights and 40 °C peaks”, Weatheo, 11 September 2026. https://weatheo.com/en/blog/summer-2026-france-heat-25-cities

Forecasts for the cities in this report

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