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: 71° and smoky haze - 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.
MonthHighLow Rain daysPrecipitation SunshineHumidity
January 78° 58° 14 4.6 in 11.6 h/day 66%
February 77° 58° 13 4.1 in 11.0 h/day 68%
March 76° 56° 9 2.4 in 10.7 h/day 65%
April 71° 51° 8 2.2 in 10.1 h/day 65%
May 68° 45° 2 0.6 in 9.8 h/day 54%
June 63° 40° 1 0.3 in 9.8 h/day 51%
July 63° 39° 0 0.1 in 10.2 h/day 46%
August 70° 44° 1 0.1 in 10.6 h/day 40%
September 76° 50° 3 0.5 in 11.2 h/day 39%
October 79° 53° 7 1.5 in 11.1 h/day 46%
November 79° 56° 11 3.0 in 11.5 h/day 56%
December 79° 59° 16 4.3 in 11.3 h/day 64%

Johannesburg month by month

Johannesburg weather in January

January brings highs around 78°F (26°C), lows near 58°F (15°C), about 14 wet days - typically the wettest month and the sunniest month of the year in Johannesburg.

Johannesburg weather in February

February brings highs around 77°F (25°C), lows near 58°F (14°C), about 13 wet days.

Johannesburg weather in March

March brings highs around 76°F (24°C), lows near 56°F (13°C), about 9 wet days.

Johannesburg weather in April

April brings highs around 71°F (22°C), lows near 51°F (10°C), about 8 wet days.

Johannesburg weather in May

May brings highs around 68°F (20°C), lows near 45°F (7°C), about 2 wet days.

Johannesburg weather in June

June brings highs around 63°F (17°C), lows near 40°F (4°C), about 1 wet days.

Johannesburg weather in July

July brings highs around 63°F (17°C), lows near 39°F (4°C), about 0 wet days - typically the coldest month of the year in Johannesburg.

Johannesburg weather in August

August brings highs around 70°F (21°C), lows near 44°F (7°C), about 1 wet days - typically the driest month of the year in Johannesburg.

Johannesburg weather in September

September brings highs around 76°F (25°C), lows near 50°F (10°C), about 3 wet days.

Johannesburg weather in October

October brings highs around 79°F (26°C), lows near 53°F (12°C), about 7 wet days.

Johannesburg weather in November

November brings highs around 79°F (26°C), lows near 56°F (13°C), about 11 wet days.

Johannesburg weather in December

December brings highs around 79°F (26°C), lows near 59°F (15°C), about 16 wet days - typically the hottest month of the year in Johannesburg.

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.