Follow us on 𝕏 for SA news and facts  @RealSaFacts →  |  Facebook →  |  See us first in Google →

Season Rainfall Tracker (South Africa)

Season Rainfall Tracker card showing an outline map of South Africa with its nine provinces, over the title How Much Rain Has Fallen This Season

How Much Rain Has Fallen This Season, South Africa

See how much rain has actually fallen so far this season in 68 South African towns, and whether it is more or less than the 30+-year normal for the same point in the season.

Data as at 2026-08-14, not today. This tracks rain that has already fallen, from Open-Meteo’s ERA5 reanalysis, it is not a forecast and it typically runs about a week behind real time. See “Why doesn’t this show today’s rainfall?” below.

For the region a town falls in and why it rains when it does, see our South Africa Climate Guide.

36 of 68 towns are reading above their normal range for this point in the season, 0 of 68 below, and 32 of 68 within their normal range.

Towns that share the same weather-model grid cell (roughly 25km across) can show identical figures, that is expected, not a data error.

Where it has been wet and dry this season

Each mark is a town, coloured by how this season’s rainfall so far compares with its own normal range. Towns too close together to draw apart share one mark, split into wedges if they disagree. Tap or hover a mark to see its towns and find them in the table below.

Above normal range (36)Normal (wetter side) (20)Normal (drier side) (12)
Ballito (KwaZulu-Natal): Normal (drier side), 702mm so far this seasonCalvinia (Northern Cape): Normal (drier side), 135mm so far this seasonCape Town (Western Cape): Normal (drier side), 340mm so far this seasonDe Aar (Northern Cape): Normal (wetter side), 462mm so far this seasonDurban (KwaZulu-Natal): Normal (drier side), 668mm so far this season Hillcrest (KwaZulu-Natal): Normal (drier side), 706mm so far this season Umhlanga (KwaZulu-Natal): Normal (drier side), 668mm so far this seasonEast London (Eastern Cape): Normal (wetter side), 690mm so far this seasonFranschhoek (Western Cape): Normal (drier side), 555mm so far this season Paarl (Western Cape): Normal (wetter side), 618mm so far this season Somerset West (Western Cape): Normal (drier side), 532mm so far this season Stellenbosch (Western Cape): Normal (drier side), 532mm so far this season Wellington (Western Cape): Normal (wetter side), 618mm so far this seasonGraaff-Reinet (Eastern Cape): Normal (wetter side), 582mm so far this seasonHermanus (Western Cape): Normal (drier side), 440mm so far this season Stanford (Western Cape): Normal (wetter side), 380mm so far this seasonHilton (KwaZulu-Natal): Normal (wetter side), 1,070mm so far this season Howick (KwaZulu-Natal): Normal (wetter side), 1,070mm so far this season Nottingham Road (KwaZulu-Natal): Normal (wetter side), 825mm so far this season Pietermaritzburg (KwaZulu-Natal): Normal (wetter side), 881mm so far this seasonKimberley (Northern Cape): Normal (wetter side), 610mm so far this seasonLangebaan (Western Cape): Normal (wetter side), 212mm so far this seasonMakhanda (Eastern Cape): Normal (wetter side), 629mm so far this seasonMalmesbury (Western Cape): Normal (drier side), 418mm so far this seasonMthatha (Eastern Cape): Normal (wetter side), 993mm so far this seasonNewcastle (KwaZulu-Natal): Normal (wetter side), 883mm so far this seasonPaternoster (Western Cape): Normal (wetter side), 212mm so far this seasonRichards Bay (KwaZulu-Natal): Normal (drier side), 712mm so far this seasonSpringbok (Northern Cape): Normal (wetter side), 107mm so far this seasonUpington (Northern Cape): Normal (wetter side), 353mm so far this seasonWorcester (Western Cape): Normal (wetter side), 412mm so far this seasonBeaufort West (Western Cape): Above normal range, 560mm so far this seasonBethlehem (Free State): Above normal range, 1,066mm so far this seasonBloemfontein (Free State): Above normal range, 842mm so far this seasonCenturion (Gauteng): Above normal range, 937mm so far this season Pretoria (Gauteng): Above normal range, 937mm so far this seasonClarens (Free State): Above normal range, 1,082mm so far this seasonGeorge (Western Cape): Above normal range, 611mm so far this season Wilderness (Western Cape): Above normal range, 611mm so far this seasonGqeberha (Eastern Cape): Above normal range, 604mm so far this seasonHartbeespoort (North West): Above normal range, 875mm so far this seasonHazyview (Mpumalanga): Above normal range, 1,212mm so far this seasonHoedspruit (Limpopo): Above normal range, 947mm so far this seasonJeffreys Bay (Eastern Cape): Above normal range, 641mm so far this season St Francis Bay (Eastern Cape): Above normal range, 645mm so far this seasonJohannesburg (Gauteng): Above normal range, 1,060mm so far this season Krugersdorp (Gauteng): Above normal range, 990mm so far this season Sandton (Gauteng): Above normal range, 990mm so far this seasonKenton-on-Sea (Eastern Cape): Normal (wetter side), 573mm so far this season Port Alfred (Eastern Cape): Above normal range, 465mm so far this seasonKnysna (Western Cape): Above normal range, 656mm so far this season Plettenberg Bay (Western Cape): Above normal range, 667mm so far this season Sedgefield (Western Cape): Above normal range, 594mm so far this seasonMahikeng (North West): Above normal range, 736mm so far this seasonMiddelburg MP (Mpumalanga): Above normal range, 1,015mm so far this seasonMontagu (Western Cape): Above normal range, 341mm so far this season Robertson (Western Cape): Above normal range, 341mm so far this seasonMossel Bay (Western Cape): Above normal range, 521mm so far this seasonNelspruit (Mpumalanga): Above normal range, 1,264mm so far this season White River (Mpumalanga): Above normal range, 1,518mm so far this seasonOudtshoorn (Western Cape): Above normal range, 409mm so far this seasonPolokwane (Limpopo): Above normal range, 1,141mm so far this seasonPrince Albert (Western Cape): Above normal range, 335mm so far this seasonRustenburg (North West): Above normal range, 763mm so far this seasonSwellendam (Western Cape): Above normal range, 352mm so far this seasonTzaneen (Limpopo): Above normal range, 1,654mm so far this seasonVereeniging (Gauteng): Above normal range, 980mm so far this seasonWelkom (Free State): Above normal range, 762mm so far this season

Rainfall from Open-Meteo’s ERA5 reanalysis. Province boundaries from Natural Earth (public domain). Lesotho and Eswatini are separate countries and are not shaded.

Jump to: Gauteng · North West · Limpopo · Mpumalanga · Free State · KwaZulu-Natal · Eastern Cape · Western Cape · Northern Cape

TownProvinceSeason to dateLast 7 daysNormal range for this pointVerdict
Gauteng
CenturionGauteng937mm25mm431 to 822mmAbove normal range
JohannesburgGauteng1,060mm36mm549 to 936mmAbove normal range
KrugersdorpGauteng990mm11mm484 to 846mmAbove normal range
PretoriaGauteng937mm25mm431 to 822mmAbove normal range
SandtonGauteng990mm22mm457 to 813mmAbove normal range
VereenigingGauteng980mm54mm525 to 864mmAbove normal range
North West
HartbeespoortNorth West875mm12mm397 to 784mmAbove normal range
MahikengNorth West736mm4mm325 to 668mmAbove normal range
RustenburgNorth West763mm14mm379 to 733mmAbove normal range
Limpopo
HoedspruitLimpopo947mm12mm248 to 590mmAbove normal range
PolokwaneLimpopo1,141mm26mm449 to 787mmAbove normal range
TzaneenLimpopo1,654mm35mm574 to 1,063mmAbove normal range
Mpumalanga
HazyviewMpumalanga1,212mm41mm472 to 1,027mmAbove normal range
Middelburg MPMpumalanga1,015mm40mm506 to 788mmAbove normal range
NelspruitMpumalanga1,264mm56mm557 to 1,078mmAbove normal range
White RiverMpumalanga1,518mm68mm710 to 1,323mmAbove normal range
Free State
BethlehemFree State1,066mm22mm572 to 1,059mmAbove normal range
BloemfonteinFree State842mm21mm354 to 747mmAbove normal range
ClarensFree State1,082mm23mm586 to 1,059mmAbove normal range
WelkomFree State762mm38mm371 to 750mmAbove normal range
KwaZulu-Natal
BallitoKwaZulu-Natal702mm51mm659 to 1,075mmNormal (drier side)
DurbanKwaZulu-Natal668mm43mm571 to 959mmNormal (drier side)
HillcrestKwaZulu-Natal706mm32mm592 to 894mmNormal (drier side)
HiltonKwaZulu-Natal1,070mm33mm802 to 1,147mmNormal (wetter side)
HowickKwaZulu-Natal1,070mm33mm802 to 1,147mmNormal (wetter side)
NewcastleKwaZulu-Natal883mm53mm659 to 1,009mmNormal (wetter side)
Nottingham RoadKwaZulu-Natal825mm22mm634 to 949mmNormal (wetter side)
PietermaritzburgKwaZulu-Natal881mm32mm677 to 1,058mmNormal (wetter side)
Richards BayKwaZulu-Natal712mm28mm604 to 1,039mmNormal (drier side)
UmhlangaKwaZulu-Natal668mm43mm571 to 959mmNormal (drier side)
Eastern Cape
East LondonEastern Cape690mm31mm477 to 848mmNormal (wetter side)
GqeberhaEastern Cape604mm17mm273 to 516mmAbove normal range
Graaff-ReinetEastern Cape582mm21mm302 to 612mmNormal (wetter side)
Jeffreys BayEastern Cape641mm19mm223 to 390mmAbove normal range
Kenton-on-SeaEastern Cape573mm22mm356 to 617mmNormal (wetter side)
MakhandaEastern Cape629mm19mm376 to 656mmNormal (wetter side)
MthathaEastern Cape993mm41mm738 to 1,169mmNormal (wetter side)
Port AlfredEastern Cape465mm24mm229 to 420mmAbove normal range
St Francis BayEastern Cape645mm19mm228 to 406mmAbove normal range
Western Cape
Beaufort WestWestern Cape560mm15mm232 to 510mmAbove normal range
Cape TownWestern Cape340mm1mm273 to 462mmNormal (drier side)
FranschhoekWestern Cape555mm8mm447 to 698mmNormal (drier side)
GeorgeWestern Cape611mm33mm255 to 448mmAbove normal range
HermanusWestern Cape440mm11mm371 to 567mmNormal (drier side)
KnysnaWestern Cape656mm32mm263 to 482mmAbove normal range
LangebaanWestern Cape212mm1mm147 to 294mmNormal (wetter side)
MalmesburyWestern Cape418mm1mm329 to 550mmNormal (drier side)
MontaguWestern Cape341mm16mm163 to 297mmAbove normal range
Mossel BayWestern Cape521mm32mm209 to 395mmAbove normal range
OudtshoornWestern Cape409mm22mm157 to 291mmAbove normal range
PaarlWestern Cape618mm4mm484 to 781mmNormal (wetter side)
PaternosterWestern Cape212mm1mm147 to 294mmNormal (wetter side)
Plettenberg BayWestern Cape667mm27mm264 to 465mmAbove normal range
Prince AlbertWestern Cape335mm14mm98 to 216mmAbove normal range
RobertsonWestern Cape341mm16mm163 to 297mmAbove normal range
SedgefieldWestern Cape594mm28mm235 to 436mmAbove normal range
Somerset WestWestern Cape532mm5mm448 to 719mmNormal (drier side)
StanfordWestern Cape380mm8mm318 to 516mmNormal (wetter side)
StellenboschWestern Cape532mm5mm448 to 719mmNormal (drier side)
SwellendamWestern Cape352mm15mm159 to 318mmAbove normal range
WellingtonWestern Cape618mm4mm484 to 781mmNormal (wetter side)
WildernessWestern Cape611mm33mm255 to 448mmAbove normal range
WorcesterWestern Cape412mm17mm296 to 425mmNormal (wetter side)
Northern Cape
CalviniaNorthern Cape135mm1mm90 to 192mmNormal (drier side)
De AarNorthern Cape462mm4mm208 to 503mmNormal (wetter side)
KimberleyNorthern Cape610mm14mm293 to 652mmNormal (wetter side)
SpringbokNorthern Cape107mm1mm49 to 160mmNormal (wetter side)
UpingtonNorthern Cape353mm0mm114 to 365mmNormal (wetter side)

Frequently asked questions

Why do so many towns move in the same direction at once?

Rainfall swings across large parts of the country together because of the El Nino Southern Oscillation (ENSO), which pushes whole regions wetter or drier in the same season rather than affecting one town at a time. Right now more towns are reading above their normal range (36 of 68) than below it (0 of 68). See our explainer on El Niño and La Niña in South Africa for how that cycle works and what it means for the season ahead.

Why do some towns share one mark on the map?

Because they are closer together than the map can draw them apart. Sandton is about 11km from Johannesburg, which is a couple of pixels at this scale, so towns within roughly 30km of each other are drawn as a single mark placed between them. Where the towns sharing a mark do not have the same verdict, the mark is split into wedges in each of their colours rather than being given one colour, so it never reports agreement that is not there. Tap or click any mark to jump to those towns in the table, which lists every town separately.

Does a wet season mean South Africa's water problems are solved?

Not the ones that matter most. Rainfall feeds dam levels, but most of South Africa's water supply problems are ageing pipes, pumps and treatment works failing faster than they are repaired, not a shortage of rain reaching the dams. See our explainer on South Africa's water infrastructure crisis for the fuller picture.

Why doesn't this show today's rainfall?

The figures come from Open-Meteo's ERA5 reanalysis, which is the same product used for a consistent, decades-long comparison, but it takes about six days to process. Data on this page is as at 2026-08-14, not today. For live conditions, check a weather forecast; this page answers a different question, how much has already fallen compared to a normal season.

What counts as "the season" in my town?

Summer-rainfall towns (most of the country) are tracked against the Department of Water and Sanitation's hydrological year, 1 October to 30 September. Western Cape winter-rainfall towns use the Western Cape Water Supply System's own hydrological year, 1 November to 31 October. Towns with rain spread through the year (the southern Cape coast) are tracked against the calendar year instead, since they have no single wet season to measure "to date" within.

Where does this data come from?

Open-Meteo's ERA5 reanalysis, requested explicitly rather than Open-Meteo's default blended model, so that this season's total and the 30-plus year normal it is compared against are always measured the same way. The normal is built from full past seasons of the same product at the same coordinates, not a manufacturer's rule of thumb.

Why does one town's season start in October and another in November?

It follows how South Africa's water authorities already measure the year in each region: the Department of Water and Sanitation's national hydrological year for summer-rainfall areas, and the Western Cape Water Supply System's own hydrological year for the winter-rainfall Western Cape.

Related tools

Share this page
X Facebook