ANC majority
56 of 90 seats
Most party (PR) votes: ANC 61.9% · up 4.7 pts from 57.2% in 2016
PR ballot ? · 138 848 valid votes
ANCAfrican National Congress85 88761.9%
EFFEconomic Freedom Fighters32 94323.7%
DADemocratic Alliance10 3317.4%
VF PLUSVryheidsfront Plus2 5921.9%
ACDPAfrican Christian Democratic Party1 0570.8%
ABCAbantu Batho Congress5930.4%
KCDPKingdom Covenant Democratic Party5660.4%
MSMMagoshi Swaranang Movement5630.4%
PACPan Africanist Congress of Azania5120.4%
COPECongress of the People4760.3%
PAPatriotic Alliance4760.3%
ARAAfrica Restoration Alliance3810.3%
AZAPOAzanian People's Organisation3590.3%- DOPDefenders of the People3530.3%
ATMAfrican Transformation Movement3420.2%
APCAfrican People's Convention2780.2%
MTLMovement for Total Liberation2320.2%
UDMUnited Democratic Movement2160.2%
POAParty of Action1970.1%
UCDPUnited Christian Democratic Party1610.1%
DAPDemocratic African Party940.1%- YPPYoung Peoples Party860.1%
- PMAProphetic Movement Army790.1%
SARKOSouth African Royal Kingdoms Organization740.1%
Council seats · 90 ?
- African National Congress37 ward · 19 PR56
- Economic Freedom Fighters4 ward · 17 PR21
- Democratic Alliance4 ward · 3 PR7
- Vryheidsfront Plus0 ward · 2 PR2
- African Christian Democratic Party0 ward · 1 PR1
- Congress of the People0 ward · 1 PR1
- Magoshi Swaranang Movement0 ward · 1 PR1
- Abantu Batho Congress0 ward · 1 PR1
Wards · 45
- Ward 1Independent 38.9%
- Ward 2ANC 54.6%
- Ward 3ANC 73.2%
- Ward 4ANC 74.1%
- Ward 5ANC 66.3%
- Ward 6ANC 53.3%
- Ward 7ANC 75.0%
- Ward 8ANC 60.9%
- Ward 9ANC 63.7%
- Ward 10EFF 48.3%
- Ward 11ANC 57.0%
- Ward 12ANC 51.1%
- Ward 13EFF 50.7%
- Ward 14ANC 51.9%
- Ward 15ANC 78.0%
- Ward 16ANC 58.0%
- Ward 17ANC 54.2%
- Ward 18ANC 59.5%
- Ward 19ANC 52.5%
- Ward 20ANC 42.6%
- Ward 21DA 52.1%
- Ward 22DA 38.5%
- Ward 23DA 37.0%
- Ward 24ANC 72.2%
- Ward 25ANC 65.3%
- Ward 26EFF 49.0%
- Ward 27ANC 73.7%
- Ward 28ANC 71.0%
- Ward 29ANC 70.0%
- Ward 30ANC 75.5%
- Ward 31ANC 75.5%
- Ward 32ANC 73.6%
- Ward 33ANC 46.2%
- Ward 34ANC 81.0%
- Ward 35ANC 63.3%
- Ward 36ANC 58.9%
- Ward 37EFF 50.1%
- Ward 38ANC 80.5%
- Ward 39DA 48.9%
- Ward 40ANC 47.1%
- Ward 41ANC 70.7%
- Ward 42ANC 74.8%
- Ward 43ANC 58.4%
- Ward 44ANC 50.5%
- Ward 45ANC 66.7%
About these figures
Official IEC figures: how we add them up
special votes 9 121 · All 305 voting districts in · the IEC marks the results complete
In local elections the IEC adds votes across the ward, PR and district ballots, so we show valid votes per ballot instead of one "votes cast" total.
Turnout is calculated as PR ballots cast ÷ registered voters, from the IEC's results for the 305 voting districts here (141 436 of 326 617). The IEC publishes 43.5%.
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 municipality, both from the IEC's counts, with no votes re-allocated between boundaries.
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 26 Oct 2026, 16:10 SAST.