ANC leads by
Ward + municipal PR
2026 · Voting district
Ward + municipal PR
| Party / entry | Candidate | Votes | Vote share (%) |
|---|---|---|---|
| AFRICAN NATIONAL CONGRESS | — | 360 | 66,7904 |
| ECONOMIC FREEDOM FIGHTERS | — | 68 | 12,616 |
| DEMOCRATIC ALLIANCE | PETRUS JOHANNES GABRIËL SWART | 44 | 8,1633 |
| ACTIONSA | — | 32 | 5,9369 |
| VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | — | 10 | 1,8553 |
| PAN AFRICANIST CONGRESS OF AZANIA | — | 6 | 1,1132 |
| SOUTH AFRICAN COMMUNIST PARTY | — | 5 | 0,9276 |
| UMKHONTO WESIZWE PARTY | — | 4 | 0,7421 |
| AFRICAN TRANSFORMATION MOVEMENT | — | 3 | 0,5566 |
| AFRIKA MAYIBUYE MOVEMENT | — | 3 | 0,5566 |
| VAAL PARTY | — | 2 | 0,3711 |
| AFRICAN CHRISTIAN DEMOCRATIC PARTY | — | 1 | 0,1855 |
| ECONOMIC LIBERATORS FORUM SOUTH AFRICA | — | 1 | 0,1855 |
| ACTIVE CITIZENS OF SOUTH AFRICA | — | 0 | 0 |
| AFRICAN CONGRESS FOR TRANSFORMATION | — | 0 | 0 |
| AFRICAN ECONOMIC FREEDOM | — | 0 | 0 |
| ALL CITIZENS PARTY | — | 0 | 0 |
| CIVIC MOVEMENT FOR PROGRESSIVE CITIZENS | — | 0 | 0 |
| INKATHA FREEDOM PARTY | — | 0 | 0 |
| MAWUSA MOVEMENT PARTY | — | 0 | 0 |
| ORGANIC HUMANITY MOVEMENT | — | 0 | 0 |
| PATRIOTIC ALLIANCE | — | 0 | 0 |
| TRANSFORMATIVE YES MOVEMENT | — | 0 | 0 |
| UNITED AFRICANS TRANSFORMATION | — | 0 | 0 |
539 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 021 | AFRICAN NATIONAL CONGRESS | 138 | 66,9903 | 206 | Reported |
| 2 021 | ECONOMIC FREEDOM FIGHTERS | 39 | 18,932 | 206 | Reported |
| 2 021 | DEMOCRATIC ALLIANCE | 24 | 11,6505 | 206 | Reported |
| 2 021 | ACTIONSA | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 0 | 206 | Reported |
| 2 021 | CONGRESS OF THE PEOPLE | 3 | 1,4563 | 206 | Reported |
| 2 021 | PAN AFRICANIST CONGRESS OF AZANIA | 0 | 0 | 206 | Reported |
| 2 021 | AFRICA RESTORATION ALLIANCE | 2 | 0,9709 | 206 | Reported |
| 2 021 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | UMKHONTO WESIZWE PARTY | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | AFRICAN TRANSFORMATION MOVEMENT | 0 | 0 | 206 | Reported |
| 2 021 | AFRIKA MAYIBUYE MOVEMENT | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | VAAL PARTY | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 206 | Reported |
| 2 021 | ECONOMIC LIBERATORS FORUM SOUTH AFRICA | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | ACTIVE CITIZENS OF SOUTH AFRICA | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | AFRICAN CONGRESS FOR TRANSFORMATION | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | AFRICAN ECONOMIC FREEDOM | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | ALL CITIZENS PARTY | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | CIVIC MOVEMENT FOR PROGRESSIVE CITIZENS | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | COMMUNITY SOLIDARITY ASSOCIATION | 0 | 0 | 206 | Reported |
| 2 021 | INKATHA FREEDOM PARTY | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | MAWUSA MOVEMENT PARTY | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | NEW HORIZON MOVEMENT | 0 | 0 | 206 | Reported |
| 2 021 | ORGANIC HUMANITY MOVEMENT | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | PATRIOTIC ALLIANCE | 0 | 0 | 206 | Reported |
| 2 021 | SOUTH AFRICAN ROYAL KINGDOMS ORGANIZATION | 0 | 0 | 206 | Reported |
| 2 021 | TRANSFORMATIVE YES MOVEMENT | 0 | 0 | 206 | Reported |
| 2 021 | UNITED AFRICANS TRANSFORMATION | 0 | 0 | 206 | No votes recorded in the complete party list. |
| 2 021 | UNITED INDEPENDENT MOVEMENT | 0 | 0 | 206 | Reported |
| 2 026 | AFRICAN NATIONAL CONGRESS | 360 | 66,7904 | 539 | Reported |
| 2 026 | ECONOMIC FREEDOM FIGHTERS | 68 | 12,616 | 539 | Reported |
| 2 026 | DEMOCRATIC ALLIANCE | 44 | 8,1633 | 539 | Reported |
| 2 026 | ACTIONSA | 32 | 5,9369 | 539 | Reported |
| 2 026 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 10 | 1,8553 | 539 | Reported |
| 2 026 | CONGRESS OF THE PEOPLE | 0 | 0 | 539 | No votes recorded in the complete party list. |
| 2 026 | PAN AFRICANIST CONGRESS OF AZANIA | 6 | 1,1132 | 539 | Reported |
| 2 026 | AFRICA RESTORATION ALLIANCE | 0 | 0 | 539 | No votes recorded in the complete party list. |
| 2 026 | SOUTH AFRICAN COMMUNIST PARTY | 5 | 0,9276 | 539 | Reported |
| 2 026 | UMKHONTO WESIZWE PARTY | 4 | 0,7421 | 539 | Reported |
| 2 026 | AFRICAN TRANSFORMATION MOVEMENT | 3 | 0,5566 | 539 | Reported |
| 2 026 | AFRIKA MAYIBUYE MOVEMENT | 3 | 0,5566 | 539 | Reported |
| 2 026 | VAAL PARTY | 2 | 0,3711 | 539 | Reported |
| 2 026 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 1 | 0,1855 | 539 | Reported |
| 2 026 | ECONOMIC LIBERATORS FORUM SOUTH AFRICA | 1 | 0,1855 | 539 | Reported |
| 2 026 | ACTIVE CITIZENS OF SOUTH AFRICA | 0 | 0 | 539 | Reported |
| 2 026 | AFRICAN CONGRESS FOR TRANSFORMATION | 0 | 0 | 539 | Reported |
| 2 026 | AFRICAN ECONOMIC FREEDOM | 0 | 0 | 539 | Reported |
| 2 026 | ALL CITIZENS PARTY | 0 | 0 | 539 | Reported |
| 2 026 | CIVIC MOVEMENT FOR PROGRESSIVE CITIZENS | 0 | 0 | 539 | Reported |
| 2 026 | COMMUNITY SOLIDARITY ASSOCIATION | 0 | 0 | 539 | No votes recorded in the complete party list. |
| 2 026 | INKATHA FREEDOM PARTY | 0 | 0 | 539 | Reported |
| 2 026 | MAWUSA MOVEMENT PARTY | 0 | 0 | 539 | Reported |
| 2 026 | NEW HORIZON MOVEMENT | 0 | 0 | 539 | No votes recorded in the complete party list. |
| 2 026 | ORGANIC HUMANITY MOVEMENT | 0 | 0 | 539 | Reported |
| 2 026 | PATRIOTIC ALLIANCE | 0 | 0 | 539 | Reported |
| 2 026 | SOUTH AFRICAN ROYAL KINGDOMS ORGANIZATION | 0 | 0 | 539 | No votes recorded in the complete party list. |
| 2 026 | TRANSFORMATIVE YES MOVEMENT | 0 | 0 | 539 | Reported |
| 2 026 | UNITED AFRICANS TRANSFORMATION | 0 | 0 | 539 | Reported |
| 2 026 | UNITED INDEPENDENT MOVEMENT | 0 | 0 | 539 | No votes recorded in the complete party list. |
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: 06 Nov 2026, 13:06 SAST · checked 10 Nov 2026, 12:33 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.