IFP 45.5%
Most PR votes
- IFP 45.5%
- ANC 35.1%
- DA 15.4%
- Others 3.9%
PR ballot ? · 1 600 449 valid votes
IFPInkatha Freedom Party729 00245.5%
ANCAfrican National Congress562 05735.1%
DADemocratic Alliance246 70515.4%
MFMinority Front26 4991.7%
ACDPAfrican Christian Democratic Party15 7321.0%
PACPan Africanist Congress of Azania3 5700.2%
UDMUnited Democratic Movement3 5180.2%
AIPPAction Independent Peoples Party2 5340.2%
AZAPOAzanian People's Organisation2 1480.1%
ECOPEACE1 5990.1%- AARAlliance of Associated Residents of Kz2211 5530.1%
RRPRatepayers and Residents Party Simunye1 4440.1%
NUPONational United People's Organisation1 3370.1%- ZDOZibambeleni Development Organisation1 0760.1%
SOPAThe Socialist Party of Azania9070.1%- D.C.O.Dube Civic Organisation4080.0%
- SAKHILESakhile-Together2270.0%
- VURAPAVukani Utrecht Ratepayers Association1330.0%
Municipalities · 55
- DannhauserIFP 14 of 20 seats
- Durban MetroANC 95 of 200 seats · no majority
- eDumbeIFP 9 of 14 seats
- EmnambithiANC 23 of 50 seats · no majority
- Gaints Castle Game Reserve DMAIFP 63.3%
- Hibiscus CoastANC 28 of 58 seats · no majority
- Highmoor/Kamberg Park DMAIFP 44.4%
- HlabisaIFP 34 of 37 seats
- ImbabazaneIFP 16 of 23 seats
- IndakaIFP 17 of 20 seats
- Inyala/MtubatubaIFP 7 of 10 seats
- IzingolweniIFP 6 of 9 seats
- KhiphinkunziIFP 23 of 37 seats
- KZ5a1IFP 12 of 20 seats
- KZ5a2IFP 2 of 5 seats · no majority
- KZ5a3ANC 4 of 5 seats
- KZ5a4ANC 9 of 11 seats
- KZ5a5IFP 12 of 23 seats
- KZ212ANC 31.7%
- KZ221ANC 11 of 22 seats · no majority
- KZ222ANC 11 of 21 seats
- KZ223ANC 4 of 7 seats
- KZ224ANC 4 of 7 seats
- KZ225ANC 41 of 73 seats
- KZ226IFP 7 of 14 seats · no majority
- KZ227ANC 9 of 13 seats
- KZ241IFP 4 of 12 seats · no majority
- KZ242IFP 20 of 25 seats
- KZ263IFP 27 of 39 seats
- KZ272IFP 27 of 32 seats
- KZ292ANC 21 of 37 seats
- MandeniIFP 18 of 32 seats
- MaphumuloIFP 17 of 21 seats
- MbonambiIFP 18 of 25 seats
- Mkhomazi Wilderness area DMAANC 60.9%
- MthonjaneniIFP 10 of 11 seats
- NdwedweIFP 27 of 37 seats
- NewcastleIFP 27 of 61 seats · no majority
- NkandlaIFP 25 of 27 seats
- NongomaIFP 37 of 38 seats
- NtambananaIFP 13 of 15 seats
- OkhahlambaIFP 18 of 26 seats
- St Lucia Park DMAIFP 81.2%
- UlundiIFP 45 of 47 seats
- UmhlabuyalinganaIFP 19 of 24 seats
- uMhlathuzeIFP 30 of 60 seats · no majority
- UmlalaziIFP 44 of 52 seats
- UmsingaIFP 28 of 33 seats
- UmtsheziIFP 8 of 14 seats
- uMuziwabantuIFP 10 of 18 seats
- UmvotiIFP 13 of 21 seats
- UmzineneIFP 6 of 7 seats
- uPhongoloIFP 16 of 22 seats
- UtrechtIFP 5 of 7 seats
- VulamehloIFP 13 of 20 seats
District councils · 10
- UguIFP 6 of 14 directly elected seats
- DC22ANC 9 of 16 directly elected seats
- UthukelaIFP 7 of 12 directly elected seats
- UmzinyathiIFP 7 of 9 directly elected seats
- DC25IFP 5 of 10 directly elected seats
- ZululandIFP 12 of 14 directly elected seats
- UmkhanyakudeIFP 9 of 11 directly elected seats
- uThunguluIFP 12 of 16 directly elected seats
- iLembeIFP 7 of 12 directly elected seats
- DC43ANC 4 of 8 directly elected seats
About these figures
special votes 0 · All 3 336 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.
Note: party 3: the IEC's cross-ballot total 2091622 differs from its ward + PR + DC 40% votes (2090869); we show each ballot's own votes.
Note: party 7: the IEC's cross-ballot total 1446187 differs from its ward + PR + DC 40% votes (1445936); we show each ballot's own votes.
Note: party 52: the IEC's cross-ballot total 587670 differs from its ward + PR + DC 40% votes (587595); we show each ballot's own votes.
Note: party 0: the IEC's cross-ballot total 29275 differs from its ward + PR + DC 40% votes (29303); we show each ballot's own votes.
Note: party 18: the IEC's cross-ballot total 29590 differs from its ward + PR + DC 40% votes (29585); we show each ballot's own votes.
Note: IEC TotalValidVotes 4280774 differs from the sum of party rows 4280746 by -28; we show per-ballot sums of party rows and do not publish the cross-ballot total.
Note: Durban Metro: party 0: the IEC's cross-ballot total 12886 differs from its ward + PR + DC 40% votes (12889); we show each ballot's own votes.
Note: Durban Metro: IEC TotalValidVotes 1013882 differs from the sum of party rows 1013879 by -3; we show per-ballot sums of party rows and do not publish the cross-ballot total.
Note: KZ225: party 0: the IEC's cross-ballot total 794 differs from its ward + PR + DC 40% votes (801); we show each ballot's own votes.
Note: KZ225: IEC TotalValidVotes 310886 differs from the sum of party rows 310879 by -7; we show per-ballot sums of party rows and do not publish the cross-ballot total.
Note: KZ242: party 0: the IEC's cross-ballot total 1273 differs from its ward + PR + DC 40% votes (1277); we show each ballot's own votes.
Note: KZ242: IEC TotalValidVotes 68876 differs from the sum of party rows 68872 by -4; we show per-ballot sums of party rows and do not publish the cross-ballot total.
Note: Newcastle: party 0: the IEC's cross-ballot total 1426 differs from its ward + PR + DC 40% votes (1437); we show each ballot's own votes.
Note: Newcastle: IEC TotalValidVotes 139025 differs from the sum of party rows 139014 by -11; we show per-ballot sums of party rows and do not publish the cross-ballot total.
Note: uPhongolo: party 0: the IEC's cross-ballot total 965 differs from its ward + PR + DC 40% votes (966); we show each ballot's own votes.
Note: uPhongolo: IEC TotalValidVotes 58017 differs from the sum of party rows 58016 by -1; we show per-ballot sums of party rows and do not publish the cross-ballot total.
Note: Ulundi: party 0: the IEC's cross-ballot total 2592 differs from its ward + PR + DC 40% votes (2594); we show each ballot's own votes.
Note: Ulundi: IEC TotalValidVotes 130497 differs from the sum of party rows 130495 by -2; we show per-ballot sums of party rows and do not publish the cross-ballot total.
Note: Highmoor/Kamberg Park DMA: party 7: the IEC's cross-ballot total 16 differs from its ward + PR + DC 40% votes (8); we show each ballot's own votes.
Note: Highmoor/Kamberg Park DMA: party 52: the IEC's cross-ballot total 15 differs from its ward + PR + DC 40% votes (7); we show each ballot's own votes.
Note: Highmoor/Kamberg Park DMA: party 3: the IEC's cross-ballot total 23 differs from its ward + PR + DC 40% votes (12); we show each ballot's own votes.
Note: Gaints Castle Game Reserve DMA: party 18: the IEC's cross-ballot total 11 differs from its ward + PR + DC 40% votes (6); we show each ballot's own votes.
Note: Gaints Castle Game Reserve DMA: party 7: the IEC's cross-ballot total 24 differs from its ward + PR + DC 40% votes (12); we show each ballot's own votes.
Note: Gaints Castle Game Reserve DMA: party 52: the IEC's cross-ballot total 30 differs from its ward + PR + DC 40% votes (15); we show each ballot's own votes.
Note: Gaints Castle Game Reserve DMA: party 3: the IEC's cross-ballot total 115 differs from its ward + PR + DC 40% votes (57); we show each ballot's own votes.
Note: St Lucia Park DMA: party 7: the IEC's cross-ballot total 225 differs from its ward + PR + DC 40% votes (115); we show each ballot's own votes.
Note: St Lucia Park DMA: party 52: the IEC's cross-ballot total 61 differs from its ward + PR + DC 40% votes (28); we show each ballot's own votes.
Note: St Lucia Park DMA: party 3: the IEC's cross-ballot total 1242 differs from its ward + PR + DC 40% votes (617); we show each ballot's own votes.
Note: Mkhomazi Wilderness area DMA: party 7: the IEC's cross-ballot total 241 differs from its ward + PR + DC 40% votes (120); we show each ballot's own votes.
Note: Mkhomazi Wilderness area DMA: party 52: the IEC's cross-ballot total 39 differs from its ward + PR + DC 40% votes (20); we show each ballot's own votes.
Note: Mkhomazi Wilderness area DMA: party 3: the IEC's cross-ballot total 116 differs from its ward + PR + DC 40% votes (57); we show each ballot's own votes.
Percentages are calculated from the IEC's vote counts. Official results: results.elections.org.za.
IEC data last fetched 27 Oct 2026, 22:34 SAST.