Johannesburg Climate & Weather Averages

South Africa · Subtropical Highlands climate · Data averaged from 2020-01-01 to 2024-12-31 (5 years)

Written by James Cooper · Edited by Sofia Reyes · Last reviewed August 17, 2026
Johannesburg city skyline — climate and weather guide photo
City photo: Jorge Láscar from Australia — via Wikimedia Commons (CC BY 2.0)
Hottest Month
19.5°C
67.1°F
December
Coldest Month
9.8°C
49.6°F
June
Year Avg Temp
16.0°C
60.8°F
July driest
Annual Rainfall
642.0mm
December wettest
126.6mm peak
Rainy Days/Year
141.0
days > 0.1mm
~12/mo avg
Avg Humidity
56.7%
UV: —
Wind: 18.2 km/h

Best Time to Visit Johannesburg

Based on temperature comfort, low rainfall, and sunshine hours, the best months to visit Johannesburg are:

September, August, July

Scores based on ideal temperature (18-28°C), low precipitation, and high sunshine. September scores 70/100.

Johannesburg has a Subtropical Highlands climate with mild summers and mild winters. The warmest month is December with an average temperature of 19.5°C (67.1°F), while June is the coldest at 9.8°C (49.6°F). Annual precipitation averages 642.0mm spread across approximately 141.0 rainy days per year, with December being the wettest month at 126.6mm and July the driest at 0.8mm. The city receives an average of 9.8-11.3 hours of sunshine per day, with the sunniest months being January and September. Humidity remains relatively consistent throughout the year, averaging around 56.7% annually, while average wind speeds reach 18.2 km/h. The overall annual mean temperature is 16.0°C (60.8°F), reflecting the subtropical highlands conditions shaped by Johannesburg's latitude (-26.2°) and surrounding geography. For travelers, the best time to visit is September, August, July, when temperatures are comfortable and rainfall is lower.

Writer's Note — James Cooper

Johannesburg's altitude of 1,753 meters creates a subtropical highland climate with comfortable temperatures and summer rainfall. I've studied the data and found that the city experiences mild, dry winters and warm, wet summers. The best time for visiting is May to September, when the weather is dry and the city's outdoor attractions are most accessible.

Seasonal Climate Overview

Spring (Mar-May)

Average temperature 15.5°C (59.9°F), rainfall 43.9mm, sunshine 10.2 hrs/day, humidity 61.7%. Mild transitional weather characterizes this period. Expect around 11.0 rainy days per month.

Summer (Jun-Aug)

Average temperature 10.8°C (51.4°F), rainfall 5.5mm, sunshine 10.2 hrs/day, humidity 45.9%. Mild transitional weather characterizes this period. Expect around 2.3 rainy days per month.

Autumn (Sep-Nov)

Average temperature 18.2°C (64.8°F), rainfall 48.1mm, sunshine 11.0 hrs/day, humidity 50.2%. Mild transitional weather characterizes this period. Expect around 12.1 rainy days per month.

Winter (Dec-Feb)

Average temperature 19.4°C (66.9°F), rainfall 116.4mm, sunshine 11.1 hrs/day, humidity 69.0%. Mild transitional weather characterizes this period. Expect around 21.7 rainy days per month.

Monthly Temperature Averages (°C / °F)

MonthAvg HighAvg LowMean Temp
January 25.2°C (77.4°F) 14.4°C (57.9°F) 19.4°C (66.9°F)
February 25.0°C (77.0°F) 14.3°C (57.7°F) 19.3°C (66.7°F)
March 24.1°C (75.4°F) 13.0°C (55.4°F) 18.2°C (64.8°F)
April 21.4°C (70.5°F) 10.1°C (50.2°F) 15.3°C (59.5°F)
May 19.7°C (67.5°F) 7.3°C (45.1°F) 13.0°C (55.4°F)
June 16.6°C (61.9°F) 4.0°C (39.2°F) 9.8°C (49.6°F)
July 17.2°C (63.0°F) 3.5°C (38.3°F) 9.8°C (49.6°F)
August 20.4°C (68.7°F) 6.2°C (43.2°F) 12.9°C (55.2°F)
September 24.7°C (76.5°F) 10.0°C (50.0°F) 17.1°C (62.8°F)
October 25.7°C (78.3°F) 12.0°C (53.6°F) 18.4°C (65.1°F)
November 25.5°C (77.9°F) 13.6°C (56.5°F) 19.1°C (66.4°F)
December 25.2°C (77.4°F) 14.7°C (58.5°F) 19.5°C (67.1°F)

Monthly Precipitation (mm)

MonthAvg RainfallBar
January 113.6 mm
February 109.1 mm
March 41.9 mm
April 72.7 mm
May 17.1 mm
June 12.8 mm
July 0.8 mm
August 3.0 mm
September 12.6 mm
October 44.7 mm
November 87.1 mm
December 126.6 mm

Monthly Rainy Days (avg days with rain > 0.1mm)

MonthAvg Rainy DaysBar
January 21.6
February 19.2
March 17.0
April 11.0
May 5.0
June 3.0
July 1.6
August 2.4
September 5.2
October 10.8
November 20.2
December 24.4

Monthly Humidity (%)

MonthAvg HumidityBar
January 69.0%
February 69.7%
March 66.1%
April 63.7%
May 55.4%
June 52.3%
July 44.1%
August 41.3%
September 40.2%
October 49.5%
November 61.0%
December 68.3%

Monthly Wind Speed (avg max km/h)

MonthAvg Max WindBar
January 17.3 km/h
February 16.5 km/h
March 16.1 km/h
April 16.7 km/h
May 15.5 km/h
June 17.2 km/h
July 17.9 km/h
August 20.2 km/h
September 21.3 km/h
October 20.8 km/h
November 20.7 km/h
December 18.5 km/h

Monthly UV Index (avg max)

MonthUV IndexRisk LevelBar
January — —
February — —
March — —
April — —
May — —
June — —
July — —
August — —
September — —
October — —
November — —
December — —

Monthly Snowfall (cm)

MonthAvg SnowfallBar
January 0.0 cm
February 0.0 cm
March 0.0 cm
April 0.0 cm
May 0.0 cm
June 0.1 cm
July 0.0 cm
August 0.0 cm
September 0.0 cm
October 0.0 cm
November 0.0 cm
December 0.0 cm

Monthly Sunshine Hours (daily average)

MonthAvg Daily SunshineBar
January 11.3 hrs
February 10.8 hrs
March 10.6 hrs
April 10.1 hrs
May 10.0 hrs
June 9.8 hrs
July 10.2 hrs
August 10.6 hrs
September 11.2 hrs
October 10.8 hrs
November 11.1 hrs
December 11.1 hrs

Frequently Asked Questions

What is the hottest month in Johannesburg?

December is the hottest month with an average temperature of 19.5°C (67.1°F).

What is the coldest month in Johannesburg?

June is the coldest month with an average temperature of 9.8°C (49.6°F).

What is the rainiest month in Johannesburg?

December is the wettest month with an average of 126.6mm of precipitation. The city experiences about 141.0 rainy days per year.

When is the best time to visit Johannesburg?

The best time to visit Johannesburg is during September, August, July, when temperatures are comfortable and rainfall is lower.

Cities with Similar Climate (Subtropical Highlands)

Other Cities in South Africa

Data Source: Open-Meteo historical archive (2020-01-01 to 2024-12-31). Daily measurements aggregated into monthly climate normals. Coordinates: -26.2°, 28.05°. Timezone: Africa/Johannesburg. Last updated: 2026-07-30.