Johannesburg, South Africa Climate & Monthly Averages

South Africa 🇿🇦 · oceanic climate
Annual avg
61°
Hottest month
December
Coldest month
July
Rainy days / yr
86
Sunshine
10.7 h/day
Right now: 57° and clear - see live conditions

The climate of Johannesburg

Johannesburg records 86 wet days and 10.7 hours of daily sunshine in an average year. Temperatures follow an oceanic pattern, running 63°F (17°C) in July up to 79°F (26°C) in December.

Climate quick facts

  • Hottest month: December - highs near 79°F (26°C)
  • Coldest month: July - highs near 63°F (17°C)
  • Decade extremes (2015-2024): 97°F (36°C) high · 25°F (-4°C) low
  • Wettest month: January (14 rainy days) · Sunniest: January (11.6 h sun/day)
  • Climate type: oceanic
  • Annual swing: 10°C between the average warmest and coolest month · day to night: 12°C
  • Average humidity: 55%

Temperatures through the year

July sits at the other end of the year: 63°F (17°C) by day, 39°F (4°C) at night. Warmth peaks in December: highs of 79°F (26°C), lows of 59°F (15°C). 5 months average under 20 mm of rain, the longest unbroken stretch running May through September.

Rain, sun and snow

Between the average December and the average July lie 10°C, a narrower spread than about 76% of the cities we track. Relative humidity averages 55% across the year, drier than all but 10% of the 3496 cities in our dataset. Days and nights are about 12°C apart on average - wider than 93% of the 3496 cities in our dataset. Sunshine averages 10.7 hours a day over the year - sunnier than roughly 88% of the cities we track, peaking in January at 11.6 hours. Across the gridded 2015-2024 daily record, the highest daily maximum for this location was 97°F (36°C) and the lowest daily minimum 25°F (-4°C).

How Johannesburg compares

  • Johannesburg sits close to the middle of our dataset on most measures: 61°F (16°C) as an annual average, 23.9 inches (606 mm) of precipitation and 10.7 hours of sun a day.

Ranked against every city in our dataset, each measured on the same ten-year window.

Monthly climate table

Monthly averages for Johannesburg based on 2015–2024 weather data. Daylight is sunrise to sunset on the 15th; wet-day chance is the share of days with measurable rain.
MonthHighLow Rain daysPrecipitation SunshineDaylightWet-day chanceHumidity
January 78° 58° 14 4.6 in 11.6 h/day 13.6 h 44% 66%
February 77° 58° 13 4.1 in 11.0 h/day 13.0 h 46% 68%
March 76° 56° 9 2.4 in 10.7 h/day 12.3 h 28% 65%
April 71° 51° 8 2.2 in 10.1 h/day 11.5 h 26% 65%
May 68° 45° 2 0.6 in 9.8 h/day 10.8 h 7% 54%
June 63° 40° 1 0.3 in 9.8 h/day 10.5 h 5% 51%
July 63° 39° 0 0.1 in 10.2 h/day 10.6 h 2% 46%
August 70° 44° 1 0.1 in 10.6 h/day 11.2 h 2% 40%
September 76° 50° 3 0.5 in 11.2 h/day 12.0 h 11% 39%
October 79° 53° 7 1.5 in 11.1 h/day 12.8 h 22% 46%
November 79° 56° 11 3.0 in 11.5 h/day 13.4 h 37% 56%
December 79° 59° 16 4.3 in 11.3 h/day 13.8 h 52% 64%

Johannesburg month by month

Average high and low for each month, with the bar showing where it sits in Johannesburg's year (left is the coldest night, right is the warmest afternoon).

January

WettestSunniest
78°58°
Rain
14 days
Sunshine
11.6 h
Daylight
13.6 h

February

77°58°
Rain
13 days
Sunshine
11.0 h
Daylight
13.0 h

March

76°56°
Rain
9 days
Sunshine
10.7 h
Daylight
12.3 h

April

71°51°
Rain
8 days
Sunshine
10.1 h
Daylight
11.5 h

May

68°45°
Rain
2 days
Sunshine
9.8 h
Daylight
10.8 h

June

63°40°
Rain
1 day
Sunshine
9.8 h
Daylight
10.5 h

July

Coldest
63°39°
Rain
0 days
Sunshine
10.2 h
Daylight
10.6 h

August

Driest
70°44°
Rain
1 day
Sunshine
10.6 h
Daylight
11.2 h

September

76°50°
Rain
3 days
Sunshine
11.2 h
Daylight
12.0 h

October

79°53°
Rain
7 days
Sunshine
11.1 h
Daylight
12.8 h

November

79°56°
Rain
11 days
Sunshine
11.5 h
Daylight
13.4 h

December

Hottest
79°59°
Rain
16 days
Sunshine
11.3 h
Daylight
13.8 h

Warmer places to go, by month: January · February · March · April · May · June · July · August · September · October · November · December

Seasons in Johannesburg

Spring (September through November)

Spring is mild and warm here - highs near 78°F (26°C), nights near 53°F (12°C), and expect showers on roughly 21 days across the season. Daylight is generous - around 11.3 hours of sun a day.

Summer (December through February)

Summer in Johannesburg is mild and warm, with daytime highs averaging 78°F (26°C) and nights around 58°F (15°C); rain falls on around 43 of the 90 days. Daylight is generous - around 11.3 hours of sun a day.

Fall (March through May)

Fall in Johannesburg is pleasantly warm, with daytime highs averaging 71°F (22°C) and nights around 51°F (10°C); expect showers on roughly 19 days across the season. Daylight is generous - around 10.2 hours of sun a day.

Winter (June through August)

Through winter, Johannesburg is mild: 65°F (18°C) by day, 41°F (5°C) after dark, and precipitation is sparse, near 14 mm (0.6 in) for the season. Daylight is generous - around 10.2 hours of sun a day.

Climate questions, answered

How much sun does Johannesburg get?
10.7 hours a day averaged over the year, peaking in January at 11.6 hours.
How often does it rain in Johannesburg?
About 86 days bring measurable precipitation, totalling 23.9 inches (606 mm). That works out at roughly 7.0 mm on an average wet day.
Are nights cold in Johannesburg?
By about 12°C on an average day - a wider day-to-night gap than most of the 3496 cities we track. In December that means 79°F (26°C) down to 59°F (15°C).
What should I pack for Johannesburg?
It depends on the month: December runs to 79°F (26°C) while July holds at 63°F (17°C). The full month-by-month breakdown is in the packing notes above.

Best time to visit Johannesburg

April to September is the sweet spot for Johannesburg - warm days, manageable rainfall and plenty of daylight line up. Expect 68°F (20°C) in the afternoon and around 3 days of rain in a typical month of it. For the same question asked the other way round, see where else is warm in April.

Pack for Johannesburg with rain gear if you travel around January. December nights average 59°F (15°C), so evenings rarely match the afternoons.

Johannesburg temperature records (2015-2024)

Highest recorded
97°
in January
Lowest recorded
25°
in July
Annual precipitation
23.9"
Snowy days / yr
0

Derived from ERA5 reanalysis data, 2015–2024. Official station records may differ. Need the precipitation in other units? The mm-to-inches rainfall converter handles it.