ANC 37.1%
Leading on the ward ballot so far (provisional)
Stations open 7am–9pm · results from 9pm · SourceSpecial votes 2 and 3 Nov, 8am–5pm.
Ward ballot ? · 2 795 valid votes
ANCAfrican National Congress1 03837.1%
MKPUmkhonto Wesizwe Party41314.8%
IFPInkatha Freedom Party34512.3%
ActionSA32111.5%
DADemocratic Alliance2047.3%
EFFEconomic Freedom Fighters1354.8%- MAYIBUYEAfrika Mayibuye Movement622.2%
- SAPCOSouth African People’s Civic Organization531.9%
- SACPSouth African Communist Party421.5%
VF PLUSVryheidsfront Plus | Freedom Front Plus250.9%
ATMAfrican Transformation Movement210.8%
PAPatriotic Alliance160.6%
AICAfrican Independent Congress150.5%
RISERise Mzansi140.5%
PACPan Africanist Congress of Azania90.3%- Umphakathi Kai One PartyUmphakathi Kai One Party90.3%
- MRPMovement of Residents Party90.3%
AUCAfrican Unemployed Congress80.3%
ACDPAfrican Christian Democratic Party70.3%- ACTAfrican Congress for Transformation60.2%
UDMUnited Democratic Movement50.2%
APCAfrican People's Convention40.1%
AHCAfrican Heart Congress40.1%- UMBRELLAAllied Independents Umbrella40.1%
ECOFORUMEconomic Emancipation Forum30.1%
BOSABuild One South Africa30.1%- SDPService Delivery Party30.1%
URFUnited Residents Front20.1%
PMCPeople's Movement for Change20.1%
ARAAfrica Restoration Alliance20.1%- MOVEMove SA20.1%
ALJAMAAl Jama-ah10.0%
NFPNational Freedom Party10.0%
SUNSizwe Ummah Nation10.0%
UIMUnited Independent Movement10.0%
ACPAll Citizens Party10.0%- TRUTHTruth and Solidarity Movement10.0%
- LABOURLabour Party of South Africa10.0%
- ANOSAAll Natives of South Africa10.0%
- CMPCCivic Movement for Progressive Citizens10.0%
ESP app
How long is the queue?
Chat about the election in your area
ESP app
Who won Ward 54?
Get notified when it's declared
Hours off in Ward 54 ?
Reported in the ESP app
Voting districts · 6 ?
Candidates · 53
Norma Siphingile GumbiActionSA
Thandokuhle Felix DhludhluAfrica Restoration Alliance
Nonkoliso Cynthia RapodileAfrican Christian Democratic Party- Bongani Ephraim MabasoAfrican Congress for Transformation
Rangwato Lorraine ThamaneAfrican Heart Congress
Noxolo Getrude GelebeAfrican Independent Congress
Tsepo Daniel MoropoliAfrican National Congress
Brian KhosaAfrican People's Convention
Donald Bohlokwa SelometsiAfrican People's Socialist Party
Nonhlanhla Betty KhumaloAfrican Transformation Movement
Ntswaki Loraine MgengoAfrican Unemployed Congress- Thulani ButheleziAfrika Mayibuye Movement
Suleiman Abdulhuck PatelAl Jama-ah
Sakhile Simphiwe MkhizeAll Citizens Party- Lwazi MoganoAll Natives of South Africa
- Molly Beatrice ShangeAllied Independents Umbrella
- Siyabulela Cullen MakitaAzanian Ground Forces
Nkosana David DlwatiBolsheviks Party of South Africa
Xolane Gratitude NgobozanaBuild One South Africa- Joseph Zolibanzi TshabalalaCivic Movement for Progressive Citizens
Kgathatso Mathews KhosithataCongress of the People
Malose Samuel MakhafolaDemocratic Alliance
Nokuthula Mantombazane MasindiEconomic Emancipation Forum
Noluthando GumbiEconomic Freedom Fighters
Jabulile Fortunate GuleEconomic Liberators Forum South Africa- Sinoyolo BinzaEkhethu Peoples Party
Matomakgole Gladys MahlanguIndependent Citizens Movement
Izak David BergIndependent Ratepayers Association of SA
Clement Khulekani VilakaziInkatha Freedom Party- Mongezi Solomuzi MahlanguKnow Your Power
- Lentikile Johannes ModiseLabour Party of South Africa
Sanjev RoopnarainMinority Front- Lebogang Abram KabateMove SA
- Salmon Ratadi MokheleMovement of Residents Party
Sunset Bheki XabaNational Freedom Party
Bridgette Ivy du PreezOrganic Humanity Movement- Sipho Bernard LindaPalmridge Community Forum
Samuel Dumisani MahlabaPan Africanist Congress of Azania
Dino PetersonPatriotic Alliance
Nhongo SoloPeople's Movement for Change- Thobekani Joseph MsizaPostola
Gift Nkosana MakhuboRise Mzansi- Peter Sunnyboy MonyakiService Delivery Party
Siyeni FudumeleSizwe Ummah Nation- Siphiwe SamboSouth African Communist Party
- Sipho Robert ZwaneSouth African People’s Civic Organization
- Mandla Lucky MbathaTruth and Solidarity Movement
Njabulo SinakgomoUmkhonto Wesizwe Party- Martha Nthabiseng MavusoUmphakathi Kai One Party
Andile Andries LamlaUnited Democratic Movement
Jacobus Christiaan JonckUnited Independent Movement
Morewane Bethuel MakolaneUnited Residents Front
Phakela Johannes MaitseVryheidsfront Plus | Freedom Front Plus
Source: IEC certified candidate list (PDF, 16 Sept 2026)
This ward in earlier elections ?
Boundaries changed after 2021: each ward's own results, never re-allocated.
ESP areas in this ward · 6 ?
About these figures
Notes on the IEC's figures for this page
Votes cast 2 849 · spoilt 54 · special votes 130 · 3 of 6 voting districts in (the IEC's voting-district results so far, out of its list of voting districts for this election)
Turnout is calculated as PR ballots cast ÷ registered voters, from the IEC's results for the 3 voting districts with results so far here (2 892 of 5 741). The IEC publishes 50.4%.
Note: party 7: the IEC's cross-ballot total 1038 differs from its ward + PR + DC 40% votes (2053); we show each ballot's own votes.
Note: party 1748: the IEC's cross-ballot total 413 differs from its ward + PR + DC 40% votes (833); we show each ballot's own votes.
Note: party 3: the IEC's cross-ballot total 345 differs from its ward + PR + DC 40% votes (645); we show each ballot's own votes.
Note: party 1511: the IEC's cross-ballot total 321 differs from its ward + PR + DC 40% votes (758); we show each ballot's own votes.
Note: party 52: the IEC's cross-ballot total 204 differs from its ward + PR + DC 40% votes (432); we show each ballot's own votes.
Note: party 945: the IEC's cross-ballot total 135 differs from its ward + PR + DC 40% votes (255); we show each ballot's own votes.
Note: party 1909: the IEC's cross-ballot total 62 differs from its ward + PR + DC 40% votes (111); we show each ballot's own votes.
Note: party 2149: the IEC's cross-ballot total 53 differs from its ward + PR + DC 40% votes (91); we show each ballot's own votes.
Note: party 445: the IEC's cross-ballot total 42 differs from its ward + PR + DC 40% votes (98); we show each ballot's own votes.
Note: party 4: the IEC's cross-ballot total 25 differs from its ward + PR + DC 40% votes (48); we show each ballot's own votes.
Note: party 1318: the IEC's cross-ballot total 21 differs from its ward + PR + DC 40% votes (46); we show each ballot's own votes.
Note: party 957: the IEC's cross-ballot total 16 differs from its ward + PR + DC 40% votes (23); we show each ballot's own votes.
Note: party 330: the IEC's cross-ballot total 15 differs from its ward + PR + DC 40% votes (32); we show each ballot's own votes.
Note: party 1755: the IEC's cross-ballot total 14 differs from its ward + PR + DC 40% votes (28); we show each ballot's own votes.
Note: party 2138: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (19); we show each ballot's own votes.
Note: party 1896: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (18); we show each ballot's own votes.
Note: party 8: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (15); we show each ballot's own votes.
Note: party 1059: the IEC's cross-ballot total 8 differs from its ward + PR + DC 40% votes (16); we show each ballot's own votes.
Note: party 18: the IEC's cross-ballot total 7 differs from its ward + PR + DC 40% votes (14); we show each ballot's own votes.
Note: party 1740: the IEC's cross-ballot total 6 differs from its ward + PR + DC 40% votes (12); we show each ballot's own votes.
Note: party 1544: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (9); we show each ballot's own votes.
Note: party 450: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (12); we show each ballot's own votes.
Note: party 1711: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: party 1863: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: party 1523: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: party 1335: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: party 568: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: party 1749: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: party 591: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: party 1693: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 1851: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: party 1986: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: party 997: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 2091: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 932: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: party 499: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: party 1559: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 3212: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 326: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 1352: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 1952: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: party 1758: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: party 1362: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 1128: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: party 1707: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: voting district 33000130: party 7: the IEC's cross-ballot total 346 differs from its ward + PR + DC 40% votes (711); we show each ballot's own votes.
Note: voting district 33000130: party 1748: the IEC's cross-ballot total 209 differs from its ward + PR + DC 40% votes (431); we show each ballot's own votes.
Note: voting district 33000130: party 1511: the IEC's cross-ballot total 151 differs from its ward + PR + DC 40% votes (261); we show each ballot's own votes.
Note: voting district 33000130: party 52: the IEC's cross-ballot total 74 differs from its ward + PR + DC 40% votes (143); we show each ballot's own votes.
Note: voting district 33000130: party 945: the IEC's cross-ballot total 31 differs from its ward + PR + DC 40% votes (65); we show each ballot's own votes.
Note: voting district 33000130: party 2149: the IEC's cross-ballot total 25 differs from its ward + PR + DC 40% votes (55); we show each ballot's own votes.
Note: voting district 33000130: party 3: the IEC's cross-ballot total 15 differs from its ward + PR + DC 40% votes (30); we show each ballot's own votes.
Note: voting district 33000130: party 1318: the IEC's cross-ballot total 13 differs from its ward + PR + DC 40% votes (25); we show each ballot's own votes.
Note: voting district 33000130: party 445: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (21); we show each ballot's own votes.
Note: voting district 33000130: party 4: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (16); we show each ballot's own votes.
Note: voting district 33000130: party 1909: the IEC's cross-ballot total 7 differs from its ward + PR + DC 40% votes (14); we show each ballot's own votes.
Note: voting district 33000130: party 957: the IEC's cross-ballot total 6 differs from its ward + PR + DC 40% votes (13); we show each ballot's own votes.
Note: voting district 33000130: party 1896: the IEC's cross-ballot total 6 differs from its ward + PR + DC 40% votes (13); we show each ballot's own votes.
Note: voting district 33000130: party 1755: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (11); we show each ballot's own votes.
Note: voting district 33000130: party 8: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.
Note: voting district 33000130: party 330: the IEC's cross-ballot total 7 differs from its ward + PR + DC 40% votes (10); we show each ballot's own votes.
Note: voting district 33000130: party 1059: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (8); we show each ballot's own votes.
Note: voting district 33000130: party 18: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (7); we show each ballot's own votes.
Note: voting district 33000130: party 450: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: voting district 33000130: party 1740: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: voting district 33000130: party 1863: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: voting district 33000130: party 1544: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: voting district 33000130: party 1711: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000130: party 1644: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000130: party 2173: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000130: party 568: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000141: party 7: the IEC's cross-ballot total 430 differs from its ward + PR + DC 40% votes (885); we show each ballot's own votes.
Note: voting district 33000141: party 1511: the IEC's cross-ballot total 157 differs from its ward + PR + DC 40% votes (281); we show each ballot's own votes.
Note: voting district 33000141: party 945: the IEC's cross-ballot total 65 differs from its ward + PR + DC 40% votes (136); we show each ballot's own votes.
Note: voting district 33000141: party 52: the IEC's cross-ballot total 79 differs from its ward + PR + DC 40% votes (139); we show each ballot's own votes.
Note: voting district 33000141: party 1748: the IEC's cross-ballot total 57 differs from its ward + PR + DC 40% votes (116); we show each ballot's own votes.
Note: voting district 33000141: party 445: the IEC's cross-ballot total 23 differs from its ward + PR + DC 40% votes (53); we show each ballot's own votes.
Note: voting district 33000141: party 2149: the IEC's cross-ballot total 13 differs from its ward + PR + DC 40% votes (36); we show each ballot's own votes.
Note: voting district 33000141: party 4: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (21); we show each ballot's own votes.
Note: voting district 33000141: party 330: the IEC's cross-ballot total 7 differs from its ward + PR + DC 40% votes (17); we show each ballot's own votes.
Note: voting district 33000141: party 2138: the IEC's cross-ballot total 10 differs from its ward + PR + DC 40% votes (19); we show each ballot's own votes.
Note: voting district 33000141: party 957: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (8); we show each ballot's own votes.
Note: voting district 33000141: party 1755: the IEC's cross-ballot total 8 differs from its ward + PR + DC 40% votes (13); we show each ballot's own votes.
Note: voting district 33000141: party 1318: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (10); we show each ballot's own votes.
Note: voting district 33000141: party 8: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (7); we show each ballot's own votes.
Note: voting district 33000141: party 1260: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: voting district 33000141: party 3: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: voting district 33000141: party 1059: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: voting district 33000141: party 1896: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: voting district 33000141: party 1711: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000141: party 6: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000141: party 1909: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: voting district 33000141: party 1335: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000141: party 568: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000141: party 1544: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000141: party 2095: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000141: party 1523: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000141: party 3231: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000141: party 1863: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000141: party 1004: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000141: party 2173: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000365: party 3: the IEC's cross-ballot total 281 differs from its ward + PR + DC 40% votes (609); we show each ballot's own votes.
Note: voting district 33000365: party 7: the IEC's cross-ballot total 239 differs from its ward + PR + DC 40% votes (457); we show each ballot's own votes.
Note: voting district 33000365: party 1748: the IEC's cross-ballot total 154 differs from its ward + PR + DC 40% votes (286); we show each ballot's own votes.
Note: voting district 33000365: party 1511: the IEC's cross-ballot total 129 differs from its ward + PR + DC 40% votes (216); we show each ballot's own votes.
Note: voting district 33000365: party 52: the IEC's cross-ballot total 75 differs from its ward + PR + DC 40% votes (150); we show each ballot's own votes.
Note: voting district 33000365: party 1909: the IEC's cross-ballot total 39 differs from its ward + PR + DC 40% votes (93); we show each ballot's own votes.
Note: voting district 33000365: party 945: the IEC's cross-ballot total 24 differs from its ward + PR + DC 40% votes (54); we show each ballot's own votes.
Note: voting district 33000365: party 4: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (11); we show each ballot's own votes.
Note: voting district 33000365: party 1318: the IEC's cross-ballot total 7 differs from its ward + PR + DC 40% votes (11); we show each ballot's own votes.
Note: voting district 33000365: party 18: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: voting district 33000365: party 1740: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: voting district 33000365: party 1059: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: voting district 33000365: party 6: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: voting district 33000365: party 1544: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.
Note: voting district 33000365: party 330: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.
Note: voting district 33000365: party 1755: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: voting district 33000365: party 2173: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000365: party 8: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.
Note: voting district 33000365: party 450: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000365: party 1523: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000365: party 591: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000365: party 957: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.
Note: voting district 33000365: party 1749: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000365: party 447: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000365: party 2106: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000365: party 1802: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000365: party 3231: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000365: party 1335: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Note: voting district 33000365: party 1765: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (1); we show each ballot's own votes.
Percentages are calculated from the IEC's vote counts. Official results: results.elections.org.za.
Map boundaries: Municipal Demarcation Board (MDB) and the IEC.
IEC data last fetched 06 Nov 2026, 11:43 SAST.