ANC leads by
Ward + municipal PR
2026 · Voting district
Ward + municipal PR
| Party / entry | Candidate | Votes | Vote share (%) |
|---|---|---|---|
| AFRICAN NATIONAL CONGRESS | ITUMELENG PATRICK POO | 276 | 48,2517 |
| AFRIKA MAYIBUYE MOVEMENT | — | 78 | 13,6364 |
| DEMOCRATIC ALLIANCE | — | 67 | 11,7133 |
| ECONOMIC FREEDOM FIGHTERS | — | 31 | 5,4196 |
| BANA BA MOBU | — | 18 | 3,1469 |
| AFRICAN TRANSFORMATION MOVEMENT | — | 12 | 2,0979 |
| VOICE FOR CHANGE | — | 12 | 2,0979 |
| VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | — | 9 | 1,5734 |
| AFRICAN PEOPLE'S CONVENTION | — | 9 | 1,5734 |
| PAN AFRICANIST CONGRESS OF AZANIA | — | 9 | 1,5734 |
| UNITED RESIDENTS FRONT | — | 9 | 1,5734 |
| AFRICAN CONGRESS FOR TRANSFORMATION | — | 8 | 1,3986 |
| INKATHA FREEDOM PARTY | — | 6 | 1,049 |
| SOUTH AFRICAN COMMUNIST PARTY | — | 6 | 1,049 |
| PATRIOTIC ALLIANCE | — | 5 | 0,8741 |
| ACTIONSA | — | 4 | 0,6993 |
| AFRICAN INDEPENDENT CONGRESS | — | 4 | 0,6993 |
| AFRICAN CHRISTIAN DEMOCRATIC PARTY | — | 3 | 0,5245 |
| AFRICAN MOVEMENT CONGRESS | — | 2 | 0,3497 |
| FREEDOM IN SOUTH AFRICA | — | 2 | 0,3497 |
| UMKHONTO WESIZWE PARTY | — | 2 | 0,3497 |
| AFRICAN ALLIANCE CONGRESS | — | 0 | 0 |
| AFRICAN LIBERATION MOVEMENT | — | 0 | 0 |
| AFRICAN RENAISSANCE UNITY | — | 0 | 0 |
| ALL CITIZENS PARTY | — | 0 | 0 |
| CONGRESS OF THE PEOPLE | — | 0 | 0 |
| ECONOMIC EMANCIPATION FORUM | — | 0 | 0 |
| INDEPENDENT CIVIC ORGANISATION OF SOUTH AFRICA | — | 0 | 0 |
| LABOUR PARTY OF SOUTH AFRICA | — | 0 | 0 |
| TRUTH AND SOLIDARITY MOVEMENT | — | 0 | 0 |
| UNITED AFRICANS TRANSFORMATION | — | 0 | 0 |
| UNITED INDEPENDENT MOVEMENT | — | 0 | 0 |
| INDEPENDENTS | — | 0 | 0 |
572 valid votes. Shares use this ballot’s party totals. All published entries are included.
Swipe to see history
| Election | Party | Votes | Vote share (%) | Valid ballot total | Availability |
|---|---|---|---|---|---|
| 2 026 | AFRICAN NATIONAL CONGRESS | 276 | 48,2517 | 572 | Reported |
| 2 026 | AFRIKA MAYIBUYE MOVEMENT | 78 | 13,6364 | 572 | Reported |
| 2 026 | DEMOCRATIC ALLIANCE | 67 | 11,7133 | 572 | Reported |
| 2 026 | ECONOMIC FREEDOM FIGHTERS | 31 | 5,4196 | 572 | Reported |
| 2 026 | BANA BA MOBU | 18 | 3,1469 | 572 | Reported |
| 2 026 | AFRICAN TRANSFORMATION MOVEMENT | 12 | 2,0979 | 572 | Reported |
| 2 026 | VOICE FOR CHANGE | 12 | 2,0979 | 572 | Reported |
| 2 026 | AFRICAN PEOPLE'S CONVENTION | 9 | 1,5734 | 572 | Reported |
| 2 026 | PAN AFRICANIST CONGRESS OF AZANIA | 9 | 1,5734 | 572 | Reported |
| 2 026 | UNITED RESIDENTS FRONT | 9 | 1,5734 | 572 | Reported |
| 2 026 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 9 | 1,5734 | 572 | Reported |
| 2 026 | AFRICAN CONGRESS FOR TRANSFORMATION | 8 | 1,3986 | 572 | Reported |
| 2 026 | INKATHA FREEDOM PARTY | 6 | 1,049 | 572 | Reported |
| 2 026 | SOUTH AFRICAN COMMUNIST PARTY | 6 | 1,049 | 572 | Reported |
| 2 026 | PATRIOTIC ALLIANCE | 5 | 0,8741 | 572 | Reported |
| 2 026 | ACTIONSA | 4 | 0,6993 | 572 | Reported |
| 2 026 | AFRICAN INDEPENDENT CONGRESS | 4 | 0,6993 | 572 | Reported |
| 2 026 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 3 | 0,5245 | 572 | Reported |
| 2 026 | AFRICAN MOVEMENT CONGRESS | 2 | 0,3497 | 572 | Reported |
| 2 026 | FREEDOM IN SOUTH AFRICA | 2 | 0,3497 | 572 | Reported |
| 2 026 | UMKHONTO WESIZWE PARTY | 2 | 0,3497 | 572 | Reported |
| 2 026 | AFRICAN ALLIANCE CONGRESS | 0 | 0 | 572 | Reported |
| 2 026 | AFRICAN LIBERATION MOVEMENT | 0 | 0 | 572 | Reported |
| 2 026 | AFRICAN RENAISSANCE UNITY | 0 | 0 | 572 | Reported |
| 2 026 | ALL CITIZENS PARTY | 0 | 0 | 572 | Reported |
| 2 026 | CONGRESS OF THE PEOPLE | 0 | 0 | 572 | Reported |
| 2 026 | ECONOMIC EMANCIPATION FORUM | 0 | 0 | 572 | Reported |
| 2 026 | INDEPENDENT CIVIC ORGANISATION OF SOUTH AFRICA | 0 | 0 | 572 | Reported |
| 2 026 | LABOUR PARTY OF SOUTH AFRICA | 0 | 0 | 572 | Reported |
| 2 026 | TRUTH AND SOLIDARITY MOVEMENT | 0 | 0 | 572 | Reported |
| 2 026 | UNITED AFRICANS TRANSFORMATION | 0 | 0 | 572 | Reported |
| 2 026 | UNITED INDEPENDENT MOVEMENT | 0 | 0 | 572 | Reported |
Ward + municipal PR votes. Missing and grouped entries are not assumed to be zero. Published boundaries may differ between elections.
Ward + municipal PR votes. Connecting bands show the same party’s share or seats between elections, not individual voters moving between parties. Select a year to inspect its values; use the election-year selector to explore its results and places.
The chart names the five largest parties across these elections. The vote list also names parties gaining at least 2 percentage points since the previous election; remaining votes are combined under Other. Other’s change compares the same group of parties in both elections. Missing values remain unavailable.
Loading map…
IEC: 09 Nov 2026, 10:06 SAST · checked 10 Nov 2026, 06:27 SAST
Feed coverage and seat allocations are separate from the national declaration: missing figures remain missing and estimates remain estimates. Corrections and re-votes may follow. Reporting progress measures voting districts, not turnout.
Historical comparisons use published area results. Boundaries may change between elections. Vote shares use the ballot labelled on each chart; ballots are not individual voters.
Ward: choose a person. PR: choose a party.
The candidate with the most votes in the whole ward wins one seat. They do not need more than 50%.
PR means proportional representation. Party-list seats balance the council’s overall party representation.
Party ward votes and municipal PR votes both count towards the party’s overall seat allocation.
Outside metros, voters also have a separate district PR ballot. An independent can stand in a ward but not on a party PR list.
IEC guide to council seatsFound Counted useful? Support the South African non-profits holding power to account.
Independent journalism exposing corruption and abuses of power.
DonateTurning public reports of corruption into investigations and action.
DonateChallenging corruption and the misuse of public money.
DonateDonations go directly to each organisation.