Johannesburg climate

Johannesburg is warmest in October, with average highs of 25 °C, and coldest in July, when nights average 2.4 °C. December is the wettest month (132 mm) and July the driest (2.8 mm). Figures are 1991–2020 climate normals.

Across a full year Johannesburg averages 731 mm of rain, 87 days above 25 °C and 11 days below freezing.

South Africa · population 9,418,183 · 1991–2020 normals

  1. Jan 19°
  2. Feb 19°
  3. Mar 18°
  4. Apr 15°
  5. May 12°
  6. Jun
  7. Jul
  8. Aug 12°
  9. Sep 16°
  10. Oct 18°
  11. Nov 18°
  12. Dec 19°

Temperature below 0 °C to above 30 °C Rain band height is that month’s share of the wettest month

  • Warmest month October 25 °C
  • Coldest month July 2.4 °C
  • Driest month July 3 mm
  • Wettest month December 132 mm
  • Least cloud July 12 % cloud
  • Hottest on record January 36 °C
  • Coldest on record June -4.5 °C

What to expectJohannesburg through the year

Johannesburg has a clear annual cycle: average daily highs run from 16 °C in July to 25 °C in October, a swing of 10 °C in mean temperature across the year.

Counted across a normal year, 87 days a year reach 25 °C, 5 of them reach 30 °C, 11 nights drop below freezing. The warmest reading in the 1991–2020 record is 36 °C, in January.

Rain is strongly seasonal. December averages 132 mm against 3 mm in July — 47 times as much. Planning around the dry months matters more here than planning around temperature.

Month by month

Month Avg high Rainfall Cloud
January 24.5 °C 128 mm 52 %
February 24.3 °C 110 mm 49 %
March 23.0 °C 87 mm 43 %
April 20.6 °C 45 mm 37 %
May 18.6 °C 17 mm 21 %
June 16.3 °C 8 mm 15 %
July 16.4 °C 3 mm 12 %
August 19.5 °C 10 mm 16 %
September 23.5 °C 22 mm 24 %
October 24.6 °C 73 mm 40 %
November 24.2 °C 97 mm 50 %
December 24.4 °C 132 mm 55 %

Temperature month by month

Month Avg highAvg lowMeanRecord highRecord lowDays above 25 °CDays above 30 °CDays below 0 °C
January 24.5 °C14.2 °C19.2 °C36.0 °C6.4 °C1310
February 24.3 °C14.0 °C19.0 °C31.0 °C9.0 °C1100
March 23.0 °C12.5 °C17.6 °C30.3 °C6.0 °C800
April 20.6 °C9.4 °C14.9 °C27.8 °C0.8 °C100
May 18.6 °C5.9 °C12.0 °C26.3 °C-3.5 °C001
June 16.3 °C3.0 °C9.2 °C23.0 °C-4.5 °C003
July 16.4 °C2.4 °C9.0 °C23.1 °C-4.3 °C006
August 19.5 °C5.0 °C12.1 °C27.2 °C-4.0 °C102
September 23.5 °C8.7 °C16.1 °C30.8 °C-2.1 °C1200
October 24.6 °C11.0 °C17.7 °C33.5 °C3.1 °C1520
November 24.2 °C12.3 °C18.1 °C33.8 °C3.6 °C1310
December 24.4 °C13.8 °C18.9 °C34.1 °C4.8 °C1310

Rain, sun and wind month by month

Month RainfallWet daysDaylightCloud coverHumidityWind
January 128 mm1614 h/day52 %70 %16 km/h
February 110 mm1313 h/day49 %70 %16 km/h
March 87 mm1212 h/day43 %69 %15 km/h
April 45 mm711 h/day37 %66 %15 km/h
May 17 mm311 h/day21 %57 %15 km/h
June 8 mm111 h/day15 %54 %16 km/h
July 3 mm111 h/day12 %49 %16 km/h
August 10 mm211 h/day16 %45 %18 km/h
September 22 mm412 h/day24 %42 %19 km/h
October 73 mm1013 h/day40 %53 %20 km/h
November 97 mm1313 h/day50 %62 %19 km/h
December 132 mm1814 h/day55 %68 %18 km/h

How Johannesburg compares

The same four figures for nearby destinations, so the numbers above have something to be read against. Summer high is the warmest month's average high; winter low is the coldest month's average low.

Destination Summer high Winter low Rain per year Days above 25 °C
Johannesburg 25 °C 2.4 °C 731 mm 87
Soweto · South Africa 25 °C 2.8 °C 729 mm 102
Benoni · South Africa 25 °C 2.7 °C 705 mm 107
Thembisa · South Africa 26 °C 3.5 °C 641 mm 121
Krugersdorp · South Africa 25 °C 2.6 °C 664 mm 92
Centurion · South Africa 27 °C 4.6 °C 627 mm 152
Westonaria · South Africa 26 °C 3.1 °C 728 mm 117

Where Johannesburg ranks

Planning a trip? See the best time to visit Johannesburg.

QuestionsCommon questions about Johannesburg’s climate

When is the best time to visit Johannesburg?

That depends on what you want, so the honest answer is a comparison rather than a single month. January, February, December sit closest to 20 °C on average, October is the warmest month and July the driest. The month-by-month table above has the full picture.

How hot does Johannesburg get?

In October, the warmest month, daily highs average 25 °C. About 5 days a year pass 30 °C. The highest value in the 1991–2020 record is 36 °C.

How cold does it get in winter?

Nights average 2.4 °C in July, the coldest month. A normal year has 11 nights below freezing.

Which month is wettest in Johannesburg?

December, averaging 132 mm over 18 days with rain. The driest month is July with 3 mm. The year as a whole averages 731 mm.

Are these figures a forecast?

No. They are 1991–2020 climate normals: the average of thirty years, which describes what a month is usually like in Johannesburg rather than what any particular week will bring. Individual years can differ substantially from the normal.

Data sources and method

Normal period
1991–2020
Data point
-26.202°, 28.044° (the coordinates the reanalysis values are taken for)
Dataset version
era5-1991-2020-scores1.1
Last processed

Measured values come from ERA5 reanalysis and are reproduced unchanged. Calculated by us: monthly rankings, daylight hours, beach and comfort scores. Full formulas are on the methodology page.

Contains modified Copernicus Climate Change Service information 2026. Neither the European Commission nor ECMWF is responsible for any use that may be made of the Copernicus information or data it contains.