No majority
ANC 40 of 81 seats · 41 for a majority
Most ward votes: ANC 47.2% · down 18.8 pts from 66.0% in 2016
Ward ballot ? · 157 428 valid votes
ANCAfrican National Congress74 23847.2%
DADemocratic Alliance30 07419.1%
EFFEconomic Freedom Fighters18 26211.6%
IFPInkatha Freedom Party13 2718.4%- IndependentIndependent candidates7 7164.9%
ABCAbantu Batho Congress2 9141.9%
AICAfrican Independent Congress1 7931.1%
PAPatriotic Alliance1 5371.0%
ACDPAfrican Christian Democratic Party1 0060.6%
NFPNational Freedom Party8690.6%
JEPJustice and Employment Party8030.5%- Devoted Citizens of MsunduziDevoted Citizens of Msunduzi5790.4%
ATMAfrican Transformation Movement5330.3%
ALJAMAAl Jama-ah5020.3%
PACPan Africanist Congress of Azania4590.3%
UIMUnited Independent Movement4470.3%
MFMinority Front3670.2%
VF PLUSVryheidsfront Plus3540.2%
AZAPOAzanian People's Organisation3460.2%
APCAfrican People's Convention3110.2%
KZNIKzn Independence2020.1%
APEMOAfrican People's Movement1780.1%
SNPSpectrum National Party1540.1%
PRMPeople's Revolutionary Movement1320.1%
ACAfrican Mantungwa Community1290.1%- BLFBlack First Land First1260.1%
APFAfrican People First1100.1%
UDMUnited Democratic Movement160.0%
Council seats · 81 ?
- African National Congress29 ward · 11 PR40
- Democratic Alliance10 ward · 6 PR16
- Economic Freedom Fighters0 ward · 10 PR10
- Inkatha Freedom Party1 ward · 7 PR8
- Abantu Batho Congress0 ward · 2 PR2
- African Christian Democratic Party0 ward · 1 PR1
- African Independent Congress0 ward · 1 PR1
- Patriotic Alliance0 ward · 1 PR1
- Justice and Employment Party0 ward · 1 PR1
Wards · 41
- Ward 1ANC 45.6%
- Ward 2ANC 38.4%
- Ward 3ANC 60.0%
- Ward 4ANC 45.0%
- Ward 5ANC 50.1%
- Ward 6ANC 53.8%
- Ward 7Independent 44.2%
- Ward 8IFP 57.0%
- Ward 9ANC 56.2%
- Ward 10ANC 79.8%
- Ward 11ANC 76.6%
- Ward 12ANC 84.6%
- Ward 13ANC 63.2%
- Ward 14ANC 48.0%
- Ward 15ANC 67.8%
- Ward 16ANC 70.6%
- Ward 17ANC 64.5%
- Ward 18ANC 57.0%
- Ward 19ANC 53.9%
- Ward 20ANC 77.0%
- Ward 21ANC 83.7%
- Ward 22ANC 69.0%
- Ward 23ANC 66.4%
- Ward 24ANC 50.5%
- Ward 25DA 88.2%
- Ward 26DA 78.3%
- Ward 27DA 42.3%
- Ward 28DA 62.0%
- Ward 29ANC 34.6%
- Ward 30DA 53.2%
- Ward 31DA 67.9%
- Ward 32DA 33.8%
- Ward 33DA 46.2%
- Ward 34ANC 50.1%
- Ward 35ANC 46.4%
- Ward 36DA 63.5%
- Ward 37DA 69.0%
- Ward 38ANC 52.5%
- Ward 39ANC 38.5%
- Ward 40ANC 45.0%
- Ward 41ANC 61.5%
About these figures
Official IEC figures: how we add them up
special votes 3 575 · All 238 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 238 voting districts here (161 734 of 339 257). The IEC publishes 48.2%.
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:08 SAST.