ANC leads by
Ward + municipal PR
2026 · Voting district
Ward + municipal PR
| Party / entry | Candidate | Votes | Vote share (%) |
|---|---|---|---|
| AFRICAN NATIONAL CONGRESS | KEDIBONE ANDREW SEBELE | 708 | 63,7838 |
| ON THE MOVE | — | 205 | 18,4685 |
| ECONOMIC FREEDOM FIGHTERS | — | 126 | 11,3514 |
| DEMOCRATIC ALLIANCE | — | 19 | 1,7117 |
| PAN AFRICANIST CONGRESS OF AZANIA | — | 12 | 1,0811 |
| AFRICAN HEART CONGRESS | — | 9 | 0,8108 |
| AFRICAN TRANSFORMATION MOVEMENT | — | 4 | 0,3604 |
| SOUTH AFRICAN COMMUNIST PARTY | — | 4 | 0,3604 |
| UNITED AFRICANS TRANSFORMATION | — | 4 | 0,3604 |
| ALLIANCE OF CITIZENS FOR CHANGE | — | 3 | 0,2703 |
| LEKWE BEPE KINGDOM PARTY | — | 3 | 0,2703 |
| AFRICAN PEOPLE'S CONVENTION | — | 2 | 0,1802 |
| AFRIKA MAYIBUYE MOVEMENT | — | 2 | 0,1802 |
| MAGOSHI SWARANANG MOVEMENT | — | 2 | 0,1802 |
| ORGANIC HUMANITY MOVEMENT | — | 2 | 0,1802 |
| AFRICAN CHRISTIAN DEMOCRATIC PARTY | — | 1 | 0,0901 |
| BATHOBOHLE POLITICAL PARTY | — | 1 | 0,0901 |
| DITIRELO BATHONG PARTY | — | 1 | 0,0901 |
| GAP FIXERS OF SOUTH AFRICA | — | 1 | 0,0901 |
| UNITED DEMOCRATIC MOVEMENT | — | 1 | 0,0901 |
| VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | — | 0 | 0 |
| AL JAMA-AH | — | 0 | 0 |
| AZANIAN PEOPLE'S ORGANISATION | — | 0 | 0 |
| FREEDOM IN SOUTH AFRICA | — | 0 | 0 |
| MOSHABI PARTY | — | 0 | 0 |
| PATRIOTIC ALLIANCE | — | 0 | 0 |
| TRUTH AND SOLIDARITY MOVEMENT | — | 0 | 0 |
| UMKHONTO WESIZWE PARTY | — | 0 | 0 |
| INDEPENDENTS | — | 0 | 0 |
1110 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 011 | AFRICAN NATIONAL CONGRESS | 450 | 66,2739 | 679 | Reported |
| 2 011 | ECONOMIC FREEDOM FIGHTERS | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | ON THE MOVE | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | DEMOCRATIC ALLIANCE | 55 | 8,1001 | 679 | Reported |
| 2 011 | CONGRESS OF THE PEOPLE | 15 | 2,2091 | 679 | Reported |
| 2 011 | AZANIAN PEOPLE'S ORGANISATION | 3 | 0,4418 | 679 | Reported |
| 2 011 | PAN AFRICANIST CONGRESS OF AZANIA | 2 | 0,2946 | 679 | Reported |
| 2 011 | AFRICAN PEOPLE'S CONVENTION | 3 | 0,4418 | 679 | Reported |
| 2 011 | AFRICAN HEART CONGRESS | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 4 | 0,5891 | 679 | Reported |
| 2 011 | UNITED DEMOCRATIC MOVEMENT | 4 | 0,5891 | 679 | Reported |
| 2 011 | MOGALAKWENA RESIDENTS ASSOCIATION | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 3 | 0,4418 | 679 | Reported |
| 2 011 | AFRICAN TRANSFORMATION MOVEMENT | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | UNITED AFRICANS TRANSFORMATION | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | AFRICAN PEOPLE'S SOCIALIST PARTY | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | ALLIANCE OF CITIZENS FOR CHANGE | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | LEKWE BEPE KINGDOM PARTY | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | AFRIKA MAYIBUYE MOVEMENT | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | MAGOSHI SWARANANG MOVEMENT | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | ORGANIC HUMANITY MOVEMENT | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | BATHOBOHLE POLITICAL PARTY | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | DITIRELO BATHONG PARTY | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | GAP FIXERS OF SOUTH AFRICA | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | AL JAMA-AH | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | FREEDOM IN SOUTH AFRICA | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | MOSHABI PARTY | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | NATIONAL FREEDOM PARTY | 0 | 0 | 679 | Reported |
| 2 011 | PATRIOTIC ALLIANCE | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | TRUTH AND SOLIDARITY MOVEMENT | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 011 | UMKHONTO WESIZWE PARTY | 0 | 0 | 679 | No votes recorded in the complete party list. |
| 2 016 | AFRICAN NATIONAL CONGRESS | 469 | 70,2096 | 668 | Reported |
| 2 016 | ECONOMIC FREEDOM FIGHTERS | 163 | 24,4012 | 668 | Reported |
| 2 016 | ON THE MOVE | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | DEMOCRATIC ALLIANCE | 15 | 2,2455 | 668 | Reported |
| 2 016 | CONGRESS OF THE PEOPLE | 5 | 0,7485 | 668 | Reported |
| 2 016 | AZANIAN PEOPLE'S ORGANISATION | 0 | 0 | 668 | Reported |
| 2 016 | PAN AFRICANIST CONGRESS OF AZANIA | 1 | 0,1497 | 668 | Reported |
| 2 016 | AFRICAN PEOPLE'S CONVENTION | 2 | 0,2994 | 668 | Reported |
| 2 016 | AFRICAN HEART CONGRESS | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | UNITED CHRISTIAN DEMOCRATIC PARTY | 5 | 0,7485 | 668 | Reported |
| 2 016 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 2 | 0,2994 | 668 | Reported |
| 2 016 | UNITED DEMOCRATIC MOVEMENT | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | MOGALAKWENA RESIDENTS ASSOCIATION | 3 | 0,4491 | 668 | Reported |
| 2 016 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 1 | 0,1497 | 668 | Reported |
| 2 016 | AFRICAN TRANSFORMATION MOVEMENT | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | UNITED AFRICANS TRANSFORMATION | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | AFRICAN PEOPLE'S SOCIALIST PARTY | 2 | 0,2994 | 668 | Reported |
| 2 016 | ALLIANCE OF CITIZENS FOR CHANGE | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | LEKWE BEPE KINGDOM PARTY | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | AFRIKA MAYIBUYE MOVEMENT | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | MAGOSHI SWARANANG MOVEMENT | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | ORGANIC HUMANITY MOVEMENT | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | BATHOBOHLE POLITICAL PARTY | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | DITIRELO BATHONG PARTY | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | GAP FIXERS OF SOUTH AFRICA | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | AL JAMA-AH | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | FREEDOM IN SOUTH AFRICA | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | MOSHABI PARTY | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | NATIONAL FREEDOM PARTY | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | PATRIOTIC ALLIANCE | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | TRUTH AND SOLIDARITY MOVEMENT | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 016 | UMKHONTO WESIZWE PARTY | 0 | 0 | 668 | No votes recorded in the complete party list. |
| 2 021 | AFRICAN NATIONAL CONGRESS | 746 | 83,2589 | 896 | Reported |
| 2 021 | ECONOMIC FREEDOM FIGHTERS | 110 | 12,2768 | 896 | Reported |
| 2 021 | ON THE MOVE | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | DEMOCRATIC ALLIANCE | 4 | 0,4464 | 896 | Reported |
| 2 021 | CONGRESS OF THE PEOPLE | 2 | 0,2232 | 896 | Reported |
| 2 021 | AZANIAN PEOPLE'S ORGANISATION | 13 | 1,4509 | 896 | Reported |
| 2 021 | PAN AFRICANIST CONGRESS OF AZANIA | 2 | 0,2232 | 896 | Reported |
| 2 021 | AFRICAN PEOPLE'S CONVENTION | 9 | 1,0045 | 896 | Reported |
| 2 021 | AFRICAN HEART CONGRESS | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 896 | Reported |
| 2 021 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 5 | 0,558 | 896 | Reported |
| 2 021 | UNITED DEMOCRATIC MOVEMENT | 1 | 0,1116 | 896 | Reported |
| 2 021 | MOGALAKWENA RESIDENTS ASSOCIATION | 1 | 0,1116 | 896 | Reported |
| 2 021 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 0 | 896 | Reported |
| 2 021 | AFRICAN TRANSFORMATION MOVEMENT | 2 | 0,2232 | 896 | Reported |
| 2 021 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | UNITED AFRICANS TRANSFORMATION | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | AFRICAN PEOPLE'S SOCIALIST PARTY | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | ALLIANCE OF CITIZENS FOR CHANGE | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | LEKWE BEPE KINGDOM PARTY | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | AFRIKA MAYIBUYE MOVEMENT | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | MAGOSHI SWARANANG MOVEMENT | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | ORGANIC HUMANITY MOVEMENT | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | BATHOBOHLE POLITICAL PARTY | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | DITIRELO BATHONG PARTY | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | GAP FIXERS OF SOUTH AFRICA | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | AL JAMA-AH | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | FREEDOM IN SOUTH AFRICA | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | MOSHABI PARTY | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | NATIONAL FREEDOM PARTY | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | PATRIOTIC ALLIANCE | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | TRUTH AND SOLIDARITY MOVEMENT | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 021 | UMKHONTO WESIZWE PARTY | 0 | 0 | 896 | No votes recorded in the complete party list. |
| 2 026 | AFRICAN NATIONAL CONGRESS | 708 | 63,7838 | 1 110 | Reported |
| 2 026 | ECONOMIC FREEDOM FIGHTERS | 126 | 11,3514 | 1 110 | Reported |
| 2 026 | ON THE MOVE | 205 | 18,4685 | 1 110 | Reported |
| 2 026 | DEMOCRATIC ALLIANCE | 19 | 1,7117 | 1 110 | Reported |
| 2 026 | CONGRESS OF THE PEOPLE | 0 | 0 | 1 110 | No votes recorded in the complete party list. |
| 2 026 | AZANIAN PEOPLE'S ORGANISATION | 0 | 0 | 1 110 | Reported |
| 2 026 | PAN AFRICANIST CONGRESS OF AZANIA | 12 | 1,0811 | 1 110 | Reported |
| 2 026 | AFRICAN PEOPLE'S CONVENTION | 2 | 0,1802 | 1 110 | Reported |
| 2 026 | AFRICAN HEART CONGRESS | 9 | 0,8108 | 1 110 | Reported |
| 2 026 | UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 1 110 | No votes recorded in the complete party list. |
| 2 026 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 1 | 0,0901 | 1 110 | Reported |
| 2 026 | UNITED DEMOCRATIC MOVEMENT | 1 | 0,0901 | 1 110 | Reported |
| 2 026 | MOGALAKWENA RESIDENTS ASSOCIATION | 0 | 0 | 1 110 | No votes recorded in the complete party list. |
| 2 026 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 0 | 1 110 | Reported |
| 2 026 | AFRICAN TRANSFORMATION MOVEMENT | 4 | 0,3604 | 1 110 | Reported |
| 2 026 | SOUTH AFRICAN COMMUNIST PARTY | 4 | 0,3604 | 1 110 | Reported |
| 2 026 | UNITED AFRICANS TRANSFORMATION | 4 | 0,3604 | 1 110 | Reported |
| 2 026 | AFRICAN PEOPLE'S SOCIALIST PARTY | 0 | 0 | 1 110 | No votes recorded in the complete party list. |
| 2 026 | ALLIANCE OF CITIZENS FOR CHANGE | 3 | 0,2703 | 1 110 | Reported |
| 2 026 | LEKWE BEPE KINGDOM PARTY | 3 | 0,2703 | 1 110 | Reported |
| 2 026 | AFRIKA MAYIBUYE MOVEMENT | 2 | 0,1802 | 1 110 | Reported |
| 2 026 | MAGOSHI SWARANANG MOVEMENT | 2 | 0,1802 | 1 110 | Reported |
| 2 026 | ORGANIC HUMANITY MOVEMENT | 2 | 0,1802 | 1 110 | Reported |
| 2 026 | BATHOBOHLE POLITICAL PARTY | 1 | 0,0901 | 1 110 | Reported |
| 2 026 | DITIRELO BATHONG PARTY | 1 | 0,0901 | 1 110 | Reported |
| 2 026 | GAP FIXERS OF SOUTH AFRICA | 1 | 0,0901 | 1 110 | Reported |
| 2 026 | AL JAMA-AH | 0 | 0 | 1 110 | Reported |
| 2 026 | FREEDOM IN SOUTH AFRICA | 0 | 0 | 1 110 | Reported |
| 2 026 | MOSHABI PARTY | 0 | 0 | 1 110 | Reported |
| 2 026 | NATIONAL FREEDOM PARTY | 0 | 0 | 1 110 | No votes recorded in the complete party list. |
| 2 026 | PATRIOTIC ALLIANCE | 0 | 0 | 1 110 | Reported |
| 2 026 | TRUTH AND SOLIDARITY MOVEMENT | 0 | 0 | 1 110 | Reported |
| 2 026 | UMKHONTO WESIZWE PARTY | 0 | 0 | 1 110 | 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: 08 Nov 2026, 21:26 SAST · checked 10 Nov 2026, 17:15 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.