ANC 46.3%
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 ? · 3 454 valid votes
ANCAfrican National Congress1 60046.3%
ActionSA58516.9%
MKPUmkhonto Wesizwe Party2908.4%
DADemocratic Alliance2758.0%
EFFEconomic Freedom Fighters2497.2%- IndependentIndependent candidates1293.7%
PACPan Africanist Congress of Azania671.9%- SACPSouth African Communist Party611.8%
- MAYIBUYEAfrika Mayibuye Movement270.8%
PAPatriotic Alliance240.7%
RISERise Mzansi200.6%
VF PLUSVryheidsfront Plus | Freedom Front Plus190.6%
IFPInkatha Freedom Party170.5%
AICAfrican Independent Congress150.4%
ACDPAfrican Christian Democratic Party110.3%- Umphakathi Kai One PartyUmphakathi Kai One Party100.3%
ATMAfrican Transformation Movement90.3%- SAPCOSouth African People’s Civic Organization70.2%
COPECongress of the People40.1%
ARAAfrica Restoration Alliance40.1%- PALCOFPalmridge Community Forum30.1%
- AACUMActive African Christians United Movement30.1%
ACPAll Citizens Party30.1%- KYPKnow Your Power30.1%
- MRPMovement of Residents Party30.1%
UDMUnited Democratic Movement20.1%
APCAfrican People's Convention20.1%
ECOFORUMEconomic Emancipation Forum20.1%- UMBRELLAAllied Independents Umbrella20.1%
IRASAIndependent Ratepayers Association of SA10.0%
UIMUnited Independent Movement10.0%
BOSABuild One South Africa10.0%- EKHETHUEkhethu Peoples Party10.0%
- SDPService Delivery Party10.0%
- PPostola10.0%
- CMPCCivic Movement for Progressive Citizens10.0%
- MOVEMove SA10.0%
ESP app
How long is the queue?
Chat about the election in your area
ESP app
Who won Ward 48?
Get notified when it's declared
Hours off in Ward 48 ?
Reported in the ESP app
Voting districts · 5 ?
Candidates · 52
Simon Moroke MotloungActionSA- David Moeketsi NtsiloActive African Christians United Movement
Grace Nonkazimulo MhlahloAfrica Restoration Alliance
Kairos Mongameli LangaAfrican Christian Democratic Party
Sindisiwe Simphiwe SoyiyoAfrican Independent Congress
Tshepo Stephen Molelekoa LekhetheAfrican National Congress
Tebello Shadrack MiyaAfrican People's Convention
Habela Timothy MakutuAfrican People's Socialist Party
Andile Eric LibaleleAfrican Transformation Movement
Ntswaki Loraine MgengoAfrican Unemployed Congress- Nhlanhla MotloungAfrika Mayibuye Movement
Suleiman Abdulhuck PatelAl Jama-ah
Thabile Perseverence MotholoAll Citizens Party- Lerato Boitumelo Natasha MatheAll Natives of South Africa
- Seipati Dorah KataneAllied Independents Umbrella
- Nonhlanhla MotaungAzanian Ground Forces
Mamorela Johannes MashilelaAzanian People's Organisation
Nkosana David DlwatiBolsheviks Party of South Africa
Cynthia Nomfuneko NcancaBuild One South Africa- Joseph Zolibanzi TshabalalaCivic Movement for Progressive Citizens
Vincent KhatiCongress of the People
Gontsi Felicia MolebatsiDemocratic Alliance
Margaret Mpho MofokengEconomic Emancipation Forum
Christinah Batsaba NkosiEconomic Freedom Fighters
Thokozile Laureine MisoEconomic Liberators Forum South Africa- Johanna Nkele MokhineEkhethu Peoples Party
- Mzwandile James SoyayaIndependent
Matomakgole Gladys MahlanguIndependent Citizens Movement
Izak David BergIndependent Ratepayers Association of SA
Josiah Sanyboy ZuluInkatha Freedom Party- Lonwabo NkhoesaKnow Your Power
- Lentikile Johannes ModiseLabour Party of South Africa
Shaldon Singh JagnathMinority Front- Portia Lorato MachereMove SA
- Buwang Johannes MolapiseMovement of Residents Party
Cynthia-Ann BenzingerOrganic Humanity Movement- Sipho Bernard LindaPalmridge Community Forum
Moses Mphafudi KgobePan Africanist Congress of Azania
Tshikanyane Piet RakitlaPatriotic Alliance
Nhongo SoloPeople's Movement for Change- Lerato Margaret MngqibisaPostola
Matsiliso Mavis LubaneRise Mzansi- Sifiso Musa NtuliService Delivery Party
Clementine Perseverence TwalaSizwe Ummah Nation- Christopher Jabulane NkabindeSouth African Communist Party
- Melusi TwalaSouth African People’s Civic Organization
- Tshoga Lucas MaseteTruth and Solidarity Movement
Lindiwe Germinah NdumelaUmkhonto Wesizwe Party- Nomthandazo Evelyn NdlebeUmphakathi Kai One Party
Nqobile Perseverence DhlaminiUnited Democratic Movement
Jacobus Christiaan JonckUnited Independent Movement
Jaun Christiaan MoutonVryheidsfront 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 · 7 ?
About these figures
Notes on the IEC's figures for this page
Votes cast 3 519 · spoilt 65 · special votes 345 · 3 of 5 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 (3 483 of 6 759). The IEC publishes 52.1%.
The change beside the headline is the difference between the leading party's share here and its share in the 2016 election for the same ward (the ward that covered the same area then), both from the IEC's counts, with no votes re-allocated between boundaries.
Note: party 7: the IEC's cross-ballot total 1600 differs from its ward + PR + DC 40% votes (3129); we show each ballot's own votes.
Note: party 1511: the IEC's cross-ballot total 585 differs from its ward + PR + DC 40% votes (1349); we show each ballot's own votes.
Note: party 1748: the IEC's cross-ballot total 290 differs from its ward + PR + DC 40% votes (569); we show each ballot's own votes.
Note: party 52: the IEC's cross-ballot total 275 differs from its ward + PR + DC 40% votes (533); we show each ballot's own votes.
Note: party 945: the IEC's cross-ballot total 249 differs from its ward + PR + DC 40% votes (508); we show each ballot's own votes.
Note: party 8: the IEC's cross-ballot total 67 differs from its ward + PR + DC 40% votes (129); we show each ballot's own votes.
Note: party 445: the IEC's cross-ballot total 61 differs from its ward + PR + DC 40% votes (121); we show each ballot's own votes.
Note: party 1909: the IEC's cross-ballot total 27 differs from its ward + PR + DC 40% votes (43); we show each ballot's own votes.
Note: party 957: the IEC's cross-ballot total 24 differs from its ward + PR + DC 40% votes (43); we show each ballot's own votes.
Note: party 1755: the IEC's cross-ballot total 20 differs from its ward + PR + DC 40% votes (32); we show each ballot's own votes.
Note: party 4: the IEC's cross-ballot total 19 differs from its ward + PR + DC 40% votes (41); we show each ballot's own votes.
Note: party 3: the IEC's cross-ballot total 17 differs from its ward + PR + DC 40% votes (31); 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 (31); we show each ballot's own votes.
Note: party 18: the IEC's cross-ballot total 11 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 10 differs from its ward + PR + DC 40% votes (21); we show each ballot's own votes.
Note: party 1318: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (20); we show each ballot's own votes.
Note: party 2149: 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 1523: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: party 499: 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 1693: 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 1749: 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 2054: 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 2138: 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 450: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: party 1260: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.
Note: party 2173: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.
Note: party 1711: 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 1730: 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 326: 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 3231: 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 1644: 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 2167: 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 1740: 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 (1); we show each ballot's own votes.
Note: party 1544: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (7); 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 (6); we show each ballot's own votes.
Note: party 447: 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 997: 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 1059: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.
Note: party 17: 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 (1); we show each ballot's own votes.
Note: party 1935: 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 1595: 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 31: 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 2190: 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 1758: 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 1004: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (9); we show each ballot's own votes.
Note: party 1765: 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 1707: 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 33060293: party 7: the IEC's cross-ballot total 455 differs from its ward + PR + DC 40% votes (904); we show each ballot's own votes.
Note: voting district 33060293: party 1511: the IEC's cross-ballot total 316 differs from its ward + PR + DC 40% votes (572); we show each ballot's own votes.
Note: voting district 33060293: party 1748: the IEC's cross-ballot total 114 differs from its ward + PR + DC 40% votes (236); we show each ballot's own votes.
Note: voting district 33060293: party 52: the IEC's cross-ballot total 95 differs from its ward + PR + DC 40% votes (202); we show each ballot's own votes.
Note: voting district 33060293: party 945: the IEC's cross-ballot total 68 differs from its ward + PR + DC 40% votes (131); we show each ballot's own votes.
Note: voting district 33060293: party 0: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (51); we show each ballot's own votes.
Note: voting district 33060293: party 8: the IEC's cross-ballot total 34 differs from its ward + PR + DC 40% votes (73); we show each ballot's own votes.
Note: voting district 33060293: party 445: the IEC's cross-ballot total 14 differs from its ward + PR + DC 40% votes (31); we show each ballot's own votes.
Note: voting district 33060293: party 1909: the IEC's cross-ballot total 14 differs from its ward + PR + DC 40% votes (30); we show each ballot's own votes.
Note: voting district 33060293: party 3: the IEC's cross-ballot total 11 differs from its ward + PR + DC 40% votes (21); we show each ballot's own votes.
Note: voting district 33060293: party 1755: the IEC's cross-ballot total 6 differs from its ward + PR + DC 40% votes (16); we show each ballot's own votes.
Note: voting district 33060293: party 330: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (12); we show each ballot's own votes.
Note: voting district 33060293: party 4: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (15); we show each ballot's own votes.
Note: voting district 33060293: party 18: 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 33060293: party 1318: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.
Note: voting district 33060293: party 2054: 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 33060293: party 1693: 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 33060293: party 1523: 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 33060293: party 957: 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 33060293: party 2149: 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 33060293: party 499: 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 33060293: 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: voting district 33060293: party 1260: 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 33060293: party 450: 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 33060293: 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 33060293: party 1730: 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 33060327: party 7: the IEC's cross-ballot total 439 differs from its ward + PR + DC 40% votes (909); we show each ballot's own votes.
Note: voting district 33060327: party 1511: the IEC's cross-ballot total 209 differs from its ward + PR + DC 40% votes (367); we show each ballot's own votes.
Note: voting district 33060327: party 1748: the IEC's cross-ballot total 140 differs from its ward + PR + DC 40% votes (267); we show each ballot's own votes.
Note: voting district 33060327: party 945: the IEC's cross-ballot total 78 differs from its ward + PR + DC 40% votes (157); we show each ballot's own votes.
Note: voting district 33060327: party 52: the IEC's cross-ballot total 66 differs from its ward + PR + DC 40% votes (131); we show each ballot's own votes.
Note: voting district 33060327: party 0: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (52); we show each ballot's own votes.
Note: voting district 33060327: party 445: the IEC's cross-ballot total 42 differs from its ward + PR + DC 40% votes (83); we show each ballot's own votes.
Note: voting district 33060327: party 4: the IEC's cross-ballot total 8 differs from its ward + PR + DC 40% votes (16); we show each ballot's own votes.
Note: voting district 33060327: 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: voting district 33060327: party 1755: 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 33060327: party 1909: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: voting district 33060327: party 1896: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (8); we show each ballot's own votes.
Note: voting district 33060327: party 18: 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 33060327: party 330: the IEC's cross-ballot total 6 differs from its ward + PR + DC 40% votes (9); we show each ballot's own votes.
Note: voting district 33060327: party 3: 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 33060327: party 1128: 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 33060327: party 2138: 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 33060327: 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 33060327: party 1318: 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 33060327: party 1260: 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 33060327: party 2149: 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 33060327: 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 33060327: party 1644: 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 33060327: 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: voting district 33060327: 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 33060327: 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 33060327: party 499: 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 33060327: 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: voting district 33060327: party 2046: 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 33060327: party 957: 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 33060327: 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 33060338: party 7: the IEC's cross-ballot total 635 differs from its ward + PR + DC 40% votes (1316); we show each ballot's own votes.
Note: voting district 33060338: party 1511: the IEC's cross-ballot total 239 differs from its ward + PR + DC 40% votes (410); we show each ballot's own votes.
Note: voting district 33060338: party 945: the IEC's cross-ballot total 113 differs from its ward + PR + DC 40% votes (220); we show each ballot's own votes.
Note: voting district 33060338: party 52: the IEC's cross-ballot total 97 differs from its ward + PR + DC 40% votes (200); we show each ballot's own votes.
Note: voting district 33060338: party 1748: the IEC's cross-ballot total 25 differs from its ward + PR + DC 40% votes (66); we show each ballot's own votes.
Note: voting district 33060338: party 0: the IEC's cross-ballot total 0 differs from its ward + PR + DC 40% votes (26); we show each ballot's own votes.
Note: voting district 33060338: party 8: the IEC's cross-ballot total 19 differs from its ward + PR + DC 40% votes (41); we show each ballot's own votes.
Note: voting district 33060338: party 957: the IEC's cross-ballot total 17 differs from its ward + PR + DC 40% votes (38); we show each ballot's own votes.
Note: voting district 33060338: party 1896: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (9); we show each ballot's own votes.
Note: voting district 33060338: party 1318: the IEC's cross-ballot total 6 differs from its ward + PR + DC 40% votes (11); we show each ballot's own votes.
Note: voting district 33060338: party 4: 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 33060338: party 1909: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (7); we show each ballot's own votes.
Note: voting district 33060338: party 330: the IEC's cross-ballot total 6 differs from its ward + PR + DC 40% votes (10); we show each ballot's own votes.
Note: voting district 33060338: party 2149: the IEC's cross-ballot total 4 differs from its ward + PR + DC 40% votes (8); we show each ballot's own votes.
Note: voting district 33060338: party 1755: 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 33060338: party 3: 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 33060338: party 445: 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 33060338: party 18: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.
Note: voting district 33060338: party 499: 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 33060338: party 2173: 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 33060338: party 3231: 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 33060338: 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 33060338: 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 33060338: 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 33060338: party 2138: 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, 12:19 SAST.