Johannesburg climate — normals and trends

Johannesburg (South Africa) has a subtropical highland, dry winter climate (Cwb) under the Köppen-Geiger classification. Its mean annual temperature is 15.7 °C and it receives 800 mm of precipitation per year.

These figures are normals computed over 86 complete calendar years, from 1940 to 2025, using ERA5 reanalysis data from the Copernicus programme.

The warmest month is January (19.8 °C on average) and the coldest is June (9.2 °C). Rainfall peaks in December.

Johannesburg averages 7 frost days, 10 hot days (≥ 30 °C) and 114 rainy days per year.

Johannesburg has warmed by +1.3 °C between 1940 and 2025, or +0.15 °C per decade. This trend is statistically significant.

The hottest day of the period reached 37.0 °C (on 7 January 2016) and the coldest -5.5 °C (on 14 July 1990).

Data from ERA5 reanalysis (Copernicus Climate Change Service), redistributed under a CC-BY 4.0 licence. Normals are recomputed whenever the archive is updated.

Climate normals · ERA5

JohannesburgGauteng

coords
-26.20°, 28.04°
period
19402025 · 86 yrs
CwbSubtropical highland, dry winterWarmest monthJanuaryColdest monthJuneWettest monthDecemberDriest monthJuly

Mean daily temperature

15.7°C

Average daily high

22.4°C

Average daily low

10.4°C

Annual rainfall

800mm

Sunshine / day

10.7h

Mean relative humidity

63%

Average peak wind

17.1km/h

Seasonal range

10.6°C

Frost days (< 0 °C)

7 d/yr

Hot days (≥ 30 °C)

10 d/yr

Rainy days (≥ 1 mm)

114 d/yr

Annual snowfall

0.2 cm

Average feels-like high

21.5 °C

Average feels-like low

8.3 °C

Average peak gust

35.5 km/h

Tropical nights (≥ 20 °C)

0 d/yr

Solar radiation

20.1 MJ/m²

Has the climate changed?

One stripe per year, 1940 to 2025

+1.3 °C

since 1940

+0.2 °C per decade · r² = 0.30 · p = < 0.001

1940Each stripe is one year, from 1940 (left) to 2025 (right). Blue = colder than the period average, red = warmer.2025

Trend fitted by linear regression (ordinary least squares) on annual means. A trend is shown only when it is statistically significant (p < 0.05).

A climograph overlays rainfall (bars) and temperature (line): the standard reading in climatology, where you can see at a glance whether the warm season is also the dry one.

Records for the period

Hottest day

37.0 °C

7 January 2016

Coldest day

-5.5 °C

14 July 1990

Wettest day

90 mm

27 September 1987

Windiest day

47.0 km/h

19 October 1945

Strongest gust

96.1 km/h

9 November 1940

Hottest feels-like

36.8 °C

7 January 2016

Coldest feels-like

-10.1 °C

14 July 1990

Snowiest day

11.6 cm

10 September 1981

Sunniest day

13.6 h

16 December 2025

YearHottest dayColdest dayAnnual meanRainfallHot daysFrost days
202530.8 °C15 October 2025-2.2 °C28 June 202516.1 °C1,362 mm22
202434.3 °C4 December 2024-3.3 °C9 July 202417.5 °C559 mm488
202332.8 °C5 October 2023-2.7 °C10 July 202316.8 °C624 mm277
202233.1 °C4 October 2022-1.7 °C16 June 202216.2 °C957 mm112
202132.0 °C26 September 2021-3.9 °C14 July 202116.2 °C845 mm710
202032.8 °C8 November 2020-4.4 °C13 June 202016.3 °C701 mm1312
201933.0 °C24 October 2019-2.1 °C21 July 201917.4 °C691 mm303
201833.9 °C17 November 2018-1.8 °C3 July 201817.0 °C632 mm464
201732.0 °C6 November 2017-2.4 °C9 June 201716.5 °C768 mm111
201637.0 °C7 January 2016-0.4 °C27 July 201617.3 °C761 mm292
201534.8 °C7 December 2015-2.8 °C1 August 201517.6 °C461 mm432
201431.1 °C13 October 2014-2.8 °C9 July 201416.1 °C785 mm910
201332.2 °C25 January 2013-0.8 °C16 June 201316.4 °C649 mm173
201232.1 °C7 October 2012-1.8 °C11 June 201216.1 °C728 mm96
201134.5 °C24 October 2011-2.0 °C2 July 201115.7 °C777 mm135
201031.7 °C4 October 2010-3.5 °C17 June 201016.3 °C863 mm87
200931.4 °C18 December 2009-1.9 °C24 July 200915.8 °C837 mm34
200831.5 °C14 October 2008-2.2 °C11 July 200815.9 °C716 mm81
200731.4 °C22 February 2007-2.9 °C25 May 200716.2 °C475 mm157
200631.7 °C25 October 2006-2.7 °C28 June 200615.3 °C875 mm48
200533.5 °C3 November 2005-0.6 °C14 June 200516.6 °C635 mm161
200431.6 °C10 November 2004-0.8 °C15 July 200415.7 °C758 mm68
200332.9 °C15 December 2003-3.5 °C21 August 200316.5 °C554 mm293
200232.3 °C19 October 2002-4.3 °C18 July 200215.8 °C623 mm74
200131.9 °C11 January 2001-2.1 °C25 July 200115.4 °C771 mm47
200029.6 °C17 October 2000-4.7 °C21 July 200014.9 °C1,197 mm05
199931.9 °C1 March 1999-0.3 °C20 June 199915.9 °C723 mm62
199831.0 °C15 November 1998-1.8 °C10 July 199816.0 °C709 mm76
199731.1 °C7 November 1997-1.6 °C8 July 199715.0 °C969 mm47
199629.9 °C3 November 1996-3.5 °C16 July 199615.0 °C997 mm011
199531.7 °C12 October 1995-4.5 °C19 July 199515.6 °C952 mm68
199430.4 °C25 October 1994-3.3 °C30 June 199415.0 °C612 mm224
199332.1 °C8 January 1993-2.3 °C21 June 199315.9 °C758 mm95
199232.3 °C27 February 1992-3.8 °C4 July 199216.4 °C504 mm2511
199131.0 °C7 October 1991-2.8 °C8 July 199115.6 °C808 mm27
199031.4 °C14 November 1990-5.5 °C14 July 199015.4 °C693 mm910
198930.8 °C19 October 1989-2.2 °C19 July 198915.0 °C942 mm211
198831.1 °C30 January 1988-2.0 °C11 June 198815.4 °C918 mm510
198730.5 °C4 November 1987-2.0 °C21 June 198715.8 °C974 mm29
198629.8 °C15 January 1986-1.2 °C25 July 198615.7 °C858 mm05
198532.8 °C16 November 1985-4.2 °C13 July 198516.0 °C677 mm144
198433.0 °C15 February 1984-1.0 °C3 July 198415.8 °C703 mm53
198332.1 °C25 February 1983-1.5 °C26 June 198316.2 °C757 mm133
198231.7 °C28 December 1982-3.4 °C16 June 198215.6 °C720 mm58
198132.5 °C6 November 1981-3.5 °C17 June 198114.8 °C795 mm79
198030.6 °C29 October 1980-2.5 °C5 July 198015.0 °C771 mm215
197930.0 °C11 January 1979-4.0 °C25 July 197915.5 °C828 mm111
197830.7 °C28 September 1978-3.7 °C19 June 197815.2 °C782 mm18
197730.8 °C12 December 1977-1.6 °C4 July 197715.4 °C791 mm18
197629.6 °C17 September 1976-4.4 °C21 June 197614.4 °C877 mm012
197529.7 °C16 October 1975-3.1 °C23 July 197514.8 °C917 mm010
197429.8 °C14 October 1974-2.4 °C2 August 197414.7 °C856 mm04
197331.2 °C23 January 1973-2.3 °C21 June 197315.2 °C971 mm77
197232.3 °C4 December 1972-4.4 °C2 August 197215.4 °C784 mm1510
197130.3 °C26 December 1971-1.9 °C18 July 197115.2 °C808 mm14
197031.0 °C27 November 1970-0.7 °C21 June 197016.0 °C796 mm82
196933.2 °C18 November 1969-2.6 °C18 June 196915.5 °C870 mm106
196832.1 °C7 November 1968-3.1 °C13 June 196815.0 °C677 mm815
196730.3 °C21 October 1967-3.8 °C12 June 196714.6 °C966 mm213
196631.6 °C2 January 1966-0.5 °C21 July 196615.7 °C803 mm113
196532.5 °C30 October 1965-3.8 °C23 June 196515.3 °C489 mm912
196431.4 °C23 February 1964-3.7 °C7 July 196415.1 °C848 mm418
196333.1 °C29 December 1963-3.6 °C16 August 196315.2 °C765 mm515
196232.6 °C17 October 1962-3.6 °C14 June 196216.0 °C1,045 mm124
196133.0 °C24 October 1961-0.5 °C6 August 196115.6 °C990 mm122
196030.5 °C10 October 1960-2.3 °C19 July 196015.1 °C941 mm38
195932.6 °C18 October 1959-0.4 °C20 June 195915.3 °C905 mm32
195830.3 °C23 November 1958-2.1 °C16 June 195815.6 °C1,075 mm17
195730.6 °C21 December 1957-4.4 °C20 June 195715.3 °C878 mm36
195630.2 °C2 February 1956-2.3 °C13 June 195615.4 °C818 mm17
195529.4 °C11 October 1955-4.6 °C29 June 195514.4 °C924 mm017
195432.8 °C1 March 1954-2.7 °C19 July 195416.3 °C306 mm368
195332.8 °C30 October 1953-3.8 °C30 July 195315.9 °C728 mm912
195233.3 °C20 November 1952-1.0 °C27 July 195215.9 °C906 mm193
195132.7 °C9 October 1951-1.6 °C12 July 195115.4 °C868 mm165
195030.5 °C22 October 1950-1.1 °C2 August 195015.2 °C894 mm32
194932.2 °C13 January 1949-0.6 °C12 July 194915.8 °C715 mm122
194830.8 °C1 December 1948-1.0 °C4 August 194815.0 °C867 mm34
194733.5 °C4 November 1947-2.5 °C16 July 194715.1 °C869 mm118
194631.9 °C29 October 1946-1.9 °C23 June 194615.0 °C1,022 mm68
194531.7 °C7 November 1945-2.2 °C27 June 194515.2 °C727 mm38
194431.5 °C26 September 1944-0.6 °C9 July 194415.0 °C942 mm31
194329.5 °C10 October 1943-2.7 °C21 July 194314.8 °C936 mm06
194231.0 °C9 January 1942-3.7 °C20 July 194214.8 °C1,007 mm210
194133.8 °C16 October 1941-1.5 °C30 June 194117.0 °C507 mm315
194033.1 °C15 November 1940-1.8 °C3 July 194016.1 °C620 mm245

Normals computed over complete calendar years 1940–2025.

A specific year

Pick a year and see how it compares to normal — warmer, drier or more extreme than usual?

Across the whole year

Average daily high
22.5 °C
+0.1 °C
Hot days (≥ 30 °C)
2 d/yr
-8
Frost days (< 0 °C)
2 d/yr
-5
Annual rainfall
1362 mm
+562 mm

Month by month

Highvs. normalPrecipitationvs. normal
Jan26.0 °C+0.7 °C250 mm+111 mm
Feb24.8 °C-0.1 °C277 mm+158 mm
Mar24.0 °C+0.1 °C171 mm+79 mm
Apr20.7 °C-1.0 °C127 mm+70 mm
May20.1 °C+0.5 °C7 mm-13 mm
Jun17.8 °C+0.7 °C2 mm-6 mm
Jul17.9 °C+0.5 °C10 mm+6 mm
Aug22.3 °C+2.0 °C13 mm+3 mm
Sep25.2 °C+1.3 °C38 mm+13 mm
Oct25.0 °C-0.1 °C82 mm+7 mm
Nov22.4 °C-2.5 °C198 mm+86 mm
Dec24.2 °C-1.0 °C188 mm+46 mm

The year's extremes

Hottest day
30.8 °C
15 Oct 2025
Coldest day
-2.2 °C
28 Jun 2025
Wettest day
56.6 mm
19 Feb 2025
Windiest day
33.2 km/h
16 Nov 2025
Strongest gust
60.5 km/h
21 May 2025
Hottest feels-like
33.5 °C
6 Mar 2025
Coldest feels-like
-6.1 °C
28 Jun 2025
Sunniest day
13.6 h
16 Dec 2025

What was the weather like that day?

Your birthday, a wedding, a memorable trip: discover the actual weather for any date since 1940.

Date

Frequently asked questions

What is the climate of Johannesburg?

Johannesburg has a subtropical highland, dry winter climate (Köppen Cwb). Over 1940-2025, the average annual temperature is 15.7 °C and it receives 800 mm of precipitation per year.

What is the hottest day ever recorded in Johannesburg?

The hottest day measured in Johannesburg between 1940 and 2025 was 7 January 2016, reaching 37.0 °C.

What is the coldest day in Johannesburg?

The coldest day measured in Johannesburg between 1940 and 2025 was 14 July 1990, at -5.5 °C.

Does it snow in Johannesburg?

Almost never: Johannesburg sees virtually no snow, with about 7 frost days per year.

Has the climate of Johannesburg warmed?

Yes: Johannesburg warmed by +1.3 °C between 1940 and 2025, a statistically significant trend.

What is the wettest day in Johannesburg?

The wettest day measured in Johannesburg between 1940 and 2025 was 27 September 1987, with 90 mm of rain in 24 hours.

What was the windiest day in Johannesburg?

The windiest day measured in Johannesburg between 1940 and 2025 was 19 October 1945, with winds reaching 47.0 km/h.

What is the warmest month in Johannesburg?

The warmest month in Johannesburg is January (19.8 °C on average); the coldest is June (9.2 °C).

How much does it rain in Johannesburg?

Johannesburg receives on average 800 mm of precipitation per year, spread over about 114 rainy days.

Is it sunny in Johannesburg?

Johannesburg gets on average 10.7 hours of sunshine per day, roughly 3,905 hours per year over 1940-2025.

What is the biggest single-day snowfall in Johannesburg?

The heaviest 24-hour snowfall measured in Johannesburg between 1940 and 2025 was 10 September 1981, with 11.6 cm.

Are there tropical nights in Johannesburg?

Almost never: tropical nights (temperature staying above 20 °C) are virtually non-existent in Johannesburg.

What was the most extreme apparent temperature in Johannesburg?

In Johannesburg, between 1940 and 2025, the highest apparent temperature reached 36.8 °C on 7 January 2016, and the lowest was -10.1 °C on 14 July 1990.

Compare Johannesburg with another city

Pick a second city: its normals will be set against these, indicator by indicator.

Nearby cities

The climate around Johannesburg

Other cities — South Africa