South Africa weather by month
Average temperatures and rainfall across South Africa, based on 30 years of climate data.
The average temperature in South Africa is around 16° across the year, though it swings month to month and from region to region. The figures below show the monthly pattern for Johannesburg.
- Hottest
- Jan
- 26°
- Coldest
- Jun
- 4°
- Wettest
- Dec
- 138 mm
- Driest
- Jul
- 3 mm
- Annual avg
- 16°
- year-round
- Rain / yr
- 748 mm
- 104 wet days
- Largest city
- Johannesburg
- 9,418k people
- Cities
- 304
- with climate data
Monthly climate (Johannesburg)
Average highs, lows and rainfall through the year for Johannesburg, South Africa's largest city.
| Month | High / Low | Rainfall | Wet days |
|---|---|---|---|
| Jan | 26° / 16° | 132 mm | 16.3 |
| Feb | 25° / 15° | 110 mm | 14 |
| Mar | 24° / 14° | 89 mm | 12.7 |
| Apr | 22° / 11° | 45 mm | 7.3 |
| May | 20° / 7° | 17 mm | 2.9 |
| Jun | 18° / 4° | 8 mm | 1.3 |
| Jul | 18° / 3° | 3 mm | 0.8 |
| Aug | 21° / 6° | 10 mm | 2 |
| Sep | 24° / 10° | 23 mm | 3.7 |
| Oct | 25° / 13° | 75 mm | 10.7 |
| Nov | 25° / 14° | 100 mm | 14 |
| Dec | 26° / 15° | 138 mm | 18.1 |
Weather across South Africa
Climate varies from region to region. Durban is the warmest of these cities, averaging 21° — about 4° warmer than Johannesburg, the coolest.
| City | Through the year | Avg | Warmest | Best month |
|---|---|---|---|---|
| Johannesburg Gauteng | 16° | 20° (Jan) | Aug | |
| Cape Town Western Cape | 16° | 20° (Jan) | Jan | |
| Durban KwaZulu-Natal | 21° | 24° (Jan) | Jun | |
| Port Elizabeth Eastern Cape | 18° | 22° (Feb) | Jan | |
| Bloemfontein Free State | 17° | 24° (Jan) | Aug | |
| Rustenburg North West | 19° | 23° (Jan) | Aug |
Climate in Johannesburg
Full Johannesburg forecastJohannesburg is the largest city in South Africa; its cloud cover, humidity, wind and sunshine are typical of the surrounding region.
Clouds and sunshine
How often the daytime sky is clear, partly cloudy or overcast through the year.
In Johannesburg, the average share of the sky covered by clouds shows significant seasonal variation over the course of the year.
The clearer part of the year begins around April 18 and lasts for 5.7 months, ending around October 9. The clearest month is July, when the sky is clear, mostly clear, or partly cloudy 93% of the time on average.
The cloudier part of the year begins around October 10 and lasts for 6.2 months, ending around April 17. The cloudiest month is December, when it is overcast or mostly cloudy 45% of the time.
Humidity comfort
Share of days at each humidity comfort level, based on the dew point — the measure that tracks how muggy it actually feels.
Wind
Average wind speed through the year, banded into plain-language speed zones so a number reads as 'breezy' or 'calm' without knowing the scale.
This is the average sustained wind speed at the standard 10 metres above open ground — the steady flow a weather station reports, not the sharper gusts that come and go, which can run half again as fast. It's the number that says whether a place is generally breezy or calm.
Across the year, average wind speed in Johannesburg is typically calm, near 10 km/h, and varies little with the seasons.
The windier part of the year lasts 5.0 months, from around Jul 25 to Dec 24. The windiest month is September, averaging about 12 km/h (light breeze).
The calmer part of the year runs from around Dec 25 to Jul 24, with March the calmest month at about 9 km/h.
| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wind speed (km/h) | 10 | 9 | 9 | 9 | 9 | 10 | 10 | 12 | 12 | 12 | 12 | 11 |
| Feels | calm | calm | calm | calm | calm | calm | calm | calm | light breeze | light breeze | calm | calm |
| Wind speed (km/h) | Feels | |
|---|---|---|
| Jan | 10 | calm |
| Feb | 9 | calm |
| Mar | 9 | calm |
| Apr | 9 | calm |
| May | 9 | calm |
| Jun | 10 | calm |
| Jul | 10 | calm |
| Aug | 12 | calm |
| Sep | 12 | light breeze |
| Oct | 12 | light breeze |
| Nov | 12 | calm |
| Dec | 11 | calm |
Best time to visit South Africa
A 0–10 score combining daytime comfort, chance of rain and cloud cover — the sweet spot runs early April to mid October.
Solar energy
Average daily shortwave solar energy reaching the ground, banded into brightness zones so the number means something at a glance.
Solar energy is how much sunlight actually reaches the ground each day, measured in kilowatt-hours per square metre (kWh/m²) — the combined effect of how long the sun is up, how high it climbs, and how much cloud gets in the way. It's the raw fuel a solar panel has to work with: for scale, 1 kWh/m² a day is dim and wintry, while 7+ is desert-bright.
Johannesburg receives about 5.6 kWh/m² a day of solar energy on average — bright — with a clear seasonal swing between 3.9 and 6.9 kWh/m².
The brighter stretch of the year lasts 6.4 months, from around Sep 1 to Mar 14. The brightest month is December, averaging about 6.8 kWh/m² (intense).
The dimmest month is June, down near 3.9 kWh/m² — roughly 42% less than the December peak.
Where is South Africa?
South Africa sits around 26.2°S, 28.0°E. The marker shows Johannesburg, its largest city, among 304 cities with climate data here.
South Africa travel facts
- Travel advisory
- Level 2
- Exercise Increased Caution
- Power plugs
- Type C / M / N
- 230 V · 50 Hz
- Prices
- ≈ 41% of US
- price level, 2025
- GDP per capita
- $6,598
- 2025
- Happiness
- 5.0 / 10
- World Happiness, 2025
- Safe drinking water
- 68%
- of population, 2024
- Homicide rate
- 43.7
- per 100k, 2022
- Road deaths
- 22.2
- per 100k/yr, 2019
- Income group
- Upper middle
- World Bank
- English
- Very high
- EF EPI 602
- Religion
Sources: World Bank, US State Department, World Happiness Report, WHO/UNICEF, EF EPI, CIA World Factbook.
Largest cities in South Africa
- 1JohannesburgGauteng10°–20°9.4MAug
- 2Cape TownWestern Cape13°–20°4.8MJan
- 3DurbanKwaZulu-Natal17°–24°3.3MJun
- 4PretoriaGauteng12°–22°2.1MAug
- 5SowetoGauteng10°–20°1.7MSep
- 6Port ElizabethEastern Cape15°–22°1.1MJan
- 7SoshanguveGauteng12°–24°872kAug
- 8PietermaritzburgKwaZulu-Natal13°–21°839kJun
- 9EvatonGauteng10°–21°725kAug
- 10BenoniGauteng10°–20°605kAug
- 11BloemfonteinFree State9°–24°557kAug
- 12ThembisaGauteng10°–21°512kAug
- 13East LondonEastern Cape17°–23°479kMay
- 14VereenigingGauteng10°–21°475kAug
- 15BoksburgGauteng10°–20°445kAug
- 16WelkomFree State9°–23°432kAug
- 17NewcastleKwaZulu-Natal11°–21°405kMay
- 18KrugersdorpGauteng10°–21°379kAug
- 19RustenburgNorth West12°–23°374kAug
- 20EmalahleniMpumalanga11°–21°373kAug
- 21DiepslootGauteng10°–21°350kAug
- 22RandburgGauteng10°–21°337kAug
- 23RoodepoortGauteng10°–20°326kSep
- 24BotshabeloFree State8°–22°310kSep
- 25BrakpanGauteng10°–20°306kAug
- 26KariegaEastern Cape14°–22°291kMay
- 27PolokwaneLimpopo12°–22°272kAug
- 28GermistonGauteng10°–20°256kAug
- 29Richards BayKwaZulu-Natal19°–25°253kJun
- 30VanderbijlparkGauteng10°–21°247kAug
- 31AthloneWestern Cape13°–20°237kJan
- 32PaarlWestern Cape10°–22°237kMar
- 33CenturionGauteng12°–22°237kAug
- 34KlerksdorpNorth West10°–23°227kAug
- 35Somerset WestWestern Cape12°–20°225kJan
- 36MdantsaneEastern Cape16°–22°206kMay
- 37MiddelburgMpumalanga10°–20°196kAug
- 38GeorgeWestern Cape13°–20°189kFeb
- 39SpringsGauteng10°–20°186kAug
- 40Ivory ParkGauteng10°–21°184kAug
- 41CarletonvilleGauteng10°–21°182kAug
- 42AlexandraGauteng10°–21°180kAug
- 43PotchefstroomNorth West10°–23°178kAug
- 44MthathaEastern Cape12°–20°165kJun
- 45KwaDukuzaKwaZulu-Natal16°–24°161kJun
- 46WestonariaGauteng10°–20°157kSep
- 47EtwatwaGauteng10°–20°152kAug
- 48VryheidKwaZulu-Natal11°–20°150kMay
- 49PinetownKwaZulu-Natal17°–24°144kJun
- 50LadysmithKwaZulu-Natal12°–22°143kMay
- 51eMbalenhleMpumalanga10°–20°142kAug
- 52KimberleyNorthern Cape10°–25°142kAug
- 53NigelGauteng10°–20°141kAug
- 54MpumalangaKwaZulu-Natal15°–23°140kJun
- 55BhishoEastern Cape13°–20°137kMay
- 56SasolburgFree State10°–21°136kAug
- 57RandfonteinGauteng10°–20°134kSep
- 58WorcesterWestern Cape10°–21°128kApr
- 59NtuzumaKwaZulu-Natal17°–24°125kJun
- 60VirginiaFree State9°–23°123kAug
- 61BritsNorth West12°–23°122kAug
- 62AlbertonGauteng10°–20°122kAug
- 63QueenstownEastern Cape10°–21°119kMay
- 64KroonstadFree State9°–22°117kAug
- 65SomaroboroMpumalanga13°–24°114kAug
- 66HammanskraalNorth West12°–24°113kAug
- 67MabopaneGauteng12°–24°111kAug
- 68MbombelaMpumalanga13°–22°110kMay
- 69OrkneyNorth West10°–23°110kAug
- 70PhalaborwaLimpopo18°–26°109kJul
- 71ThohoyandouLimpopo15°–24°107kJun
- 72TokozaGauteng10°–20°106kAug
- 73StandertonMpumalanga9°–20°101kSep
- 74MokopaneLimpopo13°–23°101kAug
- 75ErmeloMpumalanga9°–18°100kSep
- 76StellenboschWestern Cape12°–20°96kJan
- 77KutloanongFree State9°–23°95kAug
- 78StilfonteinNorth West10°–23°93kAug
- 79QonceEastern Cape15°–22°93kMay
- 80DelmasMpumalanga10°–20°92kAug
- 81GrahamstownEastern Cape13°–21°92kMay
- 82BethlehemFree State7°–19°91kSep
- 83Ga-RankuwaNorth West12°–24°91kAug
- 84Bela BelaLimpopo13°–24°90kAug
- 85MidrandGauteng10°–21°87kAug
- 86Louis TrichardtLimpopo14°–23°87kAug
- 87HeidelbergGauteng10°–20°86kAug
- 88DundeeKwaZulu-Natal11°–21°84kMay
- 89Piet RetiefMpumalanga11°–20°84kAug
- 90PhuthaditjhabaFree State6°–17°84kSep
- 91AtlantisWestern Cape12°–22°83kNov
- 92Mossel BayWestern Cape15°–21°79kJan
- 93MafikengNorth West11°–23°77kAug
- 94MmabathoNorth West11°–23°77kAug
- 95OdendaalsrusFree State9°–23°76kAug
- 96OudtshoornWestern Cape11°–22°74kApr
- 97BethalMpumalanga9°–19°73kSep
- 98Thaba NchuFree State8°–22°73kSep
- 99BothavilleFree State10°–24°72kAug
- 100UpingtonNorthern Cape12°–28°71kAug
- 101ParysFree State10°–22°71kAug
- 102Schweizer-RenekeNorth West10°–24°70kAug
- 103KnysnaWestern Cape13°–20°69kFeb
- 104SaldanhaWestern Cape14°–19°68kJan
- 105BarbertonMpumalanga13°–22°68kMay
- 106LichtenburgNorth West10°–22°66kAug
- 107TongaatKwaZulu-Natal15°–23°65kJun
- 108Graaff ReinetEastern Cape11°–22°63kSep
- 109FochvilleNorth West10°–21°62kAug
- 110KokstadKwaZulu-Natal9°–18°62kMay
- 111Fort BeaufortEastern Cape12°–21°58kMay
- 112EkangalaGauteng11°–21°58kAug
- 113KraaifonteinWestern Cape11°–22°58kMar
- 114HermanusWestern Cape14°–20°56kJan
- 115VryburgNorth West10°–24°56kAug
- 116WellingtonWestern Cape10°–22°56kMar
- 117ViljoenskroonFree State10°–23°55kAug
- 118DurbanvilleWestern Cape11°–22°54kMar
- 119KwaggafonteinMpumalanga13°–24°54kAug
- 120MondloKwaZulu-Natal12°–21°54kMay
- 121VredefortFree State10°–22°18kAug