South Africa climate
World Climates covers 49 places in South Africa. By annual mean temperature, the warmest is Phalaborwa (23 °C74 °F) and the coolest is Ermelo (15 °C59 °F). The wettest is Pinetown with 1,407 mm55 in of precipitation per year, the driest Kimberley with 417 mm16 in.
The most common climate types (Köppen classification computed from these averages) are hot semi-arid (BSh, 13 places), subtropical highland (dry winter) (Cwb, 11 places), cold semi-arid (BSk, 10 places) and humid subtropical (Cfa, 4 places).
The highest monthly average high is in Kimberley (34 °C94 °F in December); the lowest monthly average low is in Ermelo (0 °C32 °F in July).
Across the places in South Africa, the months that most often rank as the most comfortable are April, May and September (49, 48 and 47 of 49 places respectively).
Temperature and rainfall across South Africa
Annual mean temperatures in South Africa range from 15 °C59 °F to 23 °C74 °F. The typical place (the median of all 49) has a year average of 18 °C64 °F. Annual precipitation ranges from 417 mm16 in to 1,407 mm55 in. The median place receives about 633 mm25 in in an average year.
In 1 place of 49, the coldest month has an average low below 0 °C (32 °F). In 19 places, the warmest month has an average high above 30 °C (86 °F). No place here gets less than 250 mm (10 in) of precipitation a year. None gets more than 2,000 mm (79 in) a year.
Averaged over all 49 places, January is the warmest month, with a mean of 23 °C73 °F. July is the coldest, with 12 °C54 °F. The wettest month on average is January (105 mm4.1 in). The driest is July (20 mm0.8 in). Single places can differ a lot from this average, so check the page of each city.
The table below lists the places sorted by population. The largest ones covered here are Johannesburg, Cape Town and Durban. Each city page has a chart and a table for every month. It also shows the best time to visit and what to pack. The figures are 25-year averages for 2001–2025 from NASA POWER. They describe grid cells of roughly 50–70 km, not single weather stations.
Frequently asked questions
Which is the warmest place in South Africa?
By annual mean temperature, the warmest place in South Africa is Phalaborwa at 23 °C74 °F. The coolest is Ermelo at 15 °C59 °F.
Where does it rain the most in South Africa?
Pinetown gets the most precipitation, 1,407 mm55 in in an average year. The driest place is Kimberley with 417 mm16 in.
How many places in South Africa does this site cover?
World Climates has climate data for 49 places in South Africa. Each one has a page with monthly averages for temperature, rainfall, humidity and daylight.
When is the best time to visit South Africa?
It depends on the place. Across South Africa, the months that most often rank as the most comfortable are April, May and September. Check the page of each city for its own best months.
Climate of every place in South Africa
| Place | Year | Max high | Min low | Precip. |
|---|---|---|---|---|
| Johannesburg | 16 | 27 | 0 | 642 |
| Cape Town | 17 | 22 | 13 | 489 |
| Durban | 22 | 26 | 19 | 888 |
| Pretoria | 19 | 30 | 3 | 571 |
| Soweto | 17 | 28 | 1 | 586 |
| Gqeberha | 19 | 25 | 12 | 436 |
| Pietermaritzburg | 18 | 27 | 7 | 1,170 |
| Bloemfontein | 17 | 32 | 0 | 490 |
| Thembisa | 17 | 28 | 2 | 642 |
| East London | 20 | 25 | 15 | 985 |
| Welkom | 18 | 31 | 1 | 525 |
| Newcastle | 18 | 30 | 4 | 747 |
| Krugersdorp | 16 | 28 | 1 | 633 |
| Rustenburg | 20 | 32 | 4 | 585 |
| Emalahleni | 16 | 27 | 1 | 656 |
| Roodepoort | 16 | 27 | 1 | 642 |
| Botshabelo | 16 | 31 | 0 | 560 |
| Polokwane | 19 | 29 | 5 | 530 |
| Richards Bay | 23 | 28 | 16 | 681 |
| Paarl | 18 | 31 | 7 | 727 |
| Klerksdorp | 19 | 32 | 2 | 528 |
| Somerset West | 18 | 28 | 10 | 734 |
| Mdantsane | 18 | 27 | 9 | 1,002 |
| George | 17 | 26 | 10 | 481 |
| Carletonville | 17 | 29 | 1 | 584 |
| Potchefstroom | 19 | 31 | 2 | 554 |
| Mthatha | 17 | 28 | 5 | 1,115 |
| KwaDukuza | 21 | 27 | 14 | 699 |
| Etwatwa | 17 | 28 | 1 | 626 |
| Vryheid | 17 | 29 | 3 | 765 |
| Pinetown | 19 | 27 | 9 | 1,407 |
| Ladysmith | 19 | 31 | 4 | 792 |
| eMbalenhle | 16 | 28 | 1 | 639 |
| Kimberley | 19 | 34 | 1 | 417 |
| Nigel | 17 | 28 | 1 | 619 |
| Sasolburg | 17 | 29 | 2 | 550 |
| Worcester | 18 | 34 | 7 | 671 |
| Ntuzuma | 21 | 27 | 14 | 699 |
| Virginia | 18 | 32 | 1 | 525 |
| Alberton | 17 | 29 | 1 | 586 |
| Queenstown | 16 | 30 | 2 | 725 |
| Kroonstad | 17 | 31 | 1 | 545 |
| Somaroboro | 18 | 29 | 3 | 603 |
| Mbombela | 21 | 31 | 8 | 685 |
| Phalaborwa | 23 | 33 | 11 | 543 |
| Thohoyandou | 22 | 32 | 9 | 586 |
| Standerton | 16 | 28 | 0 | 649 |
| Mokopane | 21 | 32 | 6 | 488 |
| Ermelo | 15 | 26 | 0 | 796 |
Year = annual mean temperature; max high = average high of the warmest month; min low = average low of the coldest month; precip. = annual total. Temperatures in °C°F, precipitation in mminches. Sorted by population.
Other cities over 100,000 people
These cities share a NASA POWER grid cell with a larger place, so their averages are shown on that page:
- Soshanguve → data of Pretoria
- Evaton → data of Soweto
- Benoni → data of Johannesburg
- Vereeniging → data of Soweto
- Boksburg → data of Johannesburg
- Randburg → data of Johannesburg
- Brakpan → data of Johannesburg
- Kariega → data of Gqeberha
- Germiston → data of Johannesburg
- Vanderbijlpark → data of Soweto
- Centurion → data of Thembisa
- Middelburg → data of Emalahleni
- Westonaria → data of Carletonville
- Motherwell → data of Gqeberha
- Mpumalanga → data of Pinetown
- Bhisho → data of Mdantsane
- Randfontein → data of Krugersdorp
- Brits → data of Rustenburg
- Hammanskraal → data of Pretoria
- Mabopane → data of Pretoria
- Orkney → data of Klerksdorp
- Tokoza → data of Alberton
Data: NASA POWER climatology 2001–2025 (MERRA-2 reanalysis, CERES satellite data) — grid-cell averages, not station records. Sources and method.