2026 · !KHEIS council results
Gannaput, Northern Cape
ANC has an outright majority
Council seats
| Party / entry | Seats | Share of seats (%) |
|---|---|---|
| AFRICAN NATIONAL CONGRESS | 6 | 54,5455 |
| DEMOCRATIC ALLIANCE | 3 | 27,2727 |
| ECONOMIC FREEDOM FIGHTERS | 1 | 9,0909 |
| PATRIOTIC ALLIANCE | 1 | 9,0909 |
| CONGRESS OF THE PEOPLE | 0 | 0 |
| KHOISAN REVOLUTION | 0 | 0 |
| PEOPLE'S MOVEMENT FOR CHANGE | 0 | 0 |
| RESTORATION SA | 0 | 0 |
| SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 |
| VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 0 |
11 seats; 6 needed for a majority.
Municipal PR votes
Municipal PR votes
Other: show remaining parties: hide remaining parties10.9%807 votes
| Party / entry | Candidate | Votes | Vote share (%) |
|---|---|---|---|
| AFRICAN NATIONAL CONGRESS | — | 3 707 | 49,8923 |
| DEMOCRATIC ALLIANCE | — | 1 996 | 26,8641 |
| PATRIOTIC ALLIANCE | — | 920 | 12,3822 |
| ECONOMIC FREEDOM FIGHTERS | — | 282 | 3,7954 |
| PEOPLE'S MOVEMENT FOR CHANGE | — | 279 | 3,755 |
| VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | — | 135 | 1,817 |
| CONGRESS OF THE PEOPLE | — | 58 | 0,7806 |
| KHOISAN REVOLUTION | — | 31 | 0,4172 |
| SOUTH AFRICAN COMMUNIST PARTY | — | 16 | 0,2153 |
| RESTORATION SA | — | 6 | 0,0808 |
7430 valid votes. Shares use this ballot’s party totals. All published entries are included.
Ward ballot votes
Other: show remaining parties: hide remaining parties10.5%782 votes
| Party / entry | Candidate | Votes | Vote share (%) |
|---|---|---|---|
| AFRICAN NATIONAL CONGRESS | — | 3 741 | 50,2687 |
| DEMOCRATIC ALLIANCE | — | 1 967 | 26,4311 |
| PATRIOTIC ALLIANCE | — | 952 | 12,7923 |
| PEOPLE'S MOVEMENT FOR CHANGE | — | 284 | 3,8162 |
| ECONOMIC FREEDOM FIGHTERS | — | 281 | 3,7759 |
| VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | — | 115 | 1,5453 |
| CONGRESS OF THE PEOPLE | — | 43 | 0,5778 |
| KHOISAN REVOLUTION | — | 40 | 0,5375 |
| SOUTH AFRICAN COMMUNIST PARTY | — | 15 | 0,2016 |
| RESTORATION SA | — | 4 | 0,0537 |
7442 valid votes. Shares use this ballot’s party totals. All published entries are included.
How the vote changed
Council seats by election
Swipe to see history
Seats unavailable for this election.
| Election | Party / entry | Seats | Council total | Majority needed |
|---|---|---|---|---|
| 2 000 | Seat allocation unavailable | Unavailable | Unavailable | Unavailable |
| 2 006 | AFRICAN NATIONAL CONGRESS | 5 | 7 | 4 |
| 2 006 | DEMOCRATIC ALLIANCE | 1 | 7 | 4 |
| 2 006 | INDEPENDENT DEMOCRATS | 1 | 7 | 4 |
| 2 006 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 7 | 4 |
| 2 006 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 7 | 4 |
| 2 011 | AFRICAN NATIONAL CONGRESS | 4 | 7 | 4 |
| 2 011 | CONGRESS OF THE PEOPLE | 2 | 7 | 4 |
| 2 011 | DEMOCRATIC ALLIANCE | 1 | 7 | 4 |
| 2 011 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 7 | 4 |
| 2 011 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 7 | 4 |
| 2 016 | AFRICAN NATIONAL CONGRESS | 4 | 7 | 4 |
| 2 016 | CONGRESS OF THE PEOPLE | 2 | 7 | 4 |
| 2 016 | DEMOCRATIC ALLIANCE | 1 | 7 | 4 |
| 2 016 | DIE FORUM | 0 | 7 | 4 |
| 2 016 | ECONOMIC FREEDOM FIGHTERS | 0 | 7 | 4 |
| 2 016 | INDEPENDENTS | 0 | 7 | 4 |
| 2 016 | KHOISAN REVOLUTION | 0 | 7 | 4 |
| 2 016 | PATRIOTIC ALLIANCE | 0 | 7 | 4 |
| 2 016 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 7 | 4 |
| 2 021 | AFRICAN NATIONAL CONGRESS | 5 | 11 | 6 |
| 2 021 | DEMOCRATIC ALLIANCE | 2 | 11 | 6 |
| 2 021 | INDEPENDENTS | 2 | 11 | 6 |
| 2 021 | CONGRESS OF THE PEOPLE | 1 | 11 | 6 |
| 2 021 | ECONOMIC FREEDOM FIGHTERS | 1 | 11 | 6 |
| 2 021 | KHOISAN REVOLUTION | 0 | 11 | 6 |
| 2 021 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 11 | 6 |
| 2 026 | AFRICAN NATIONAL CONGRESS | 6 | 11 | 6 |
| 2 026 | DEMOCRATIC ALLIANCE | 3 | 11 | 6 |
| 2 026 | ECONOMIC FREEDOM FIGHTERS | 1 | 11 | 6 |
| 2 026 | PATRIOTIC ALLIANCE | 1 | 11 | 6 |
| 2 026 | CONGRESS OF THE PEOPLE | 0 | 11 | 6 |
| 2 026 | KHOISAN REVOLUTION | 0 | 11 | 6 |
| 2 026 | PEOPLE'S MOVEMENT FOR CHANGE | 0 | 11 | 6 |
| 2 026 | RESTORATION SA | 0 | 11 | 6 |
| 2 026 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 11 | 6 |
| 2 026 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 11 | 6 |
Ward + municipal PR votes. Missing and grouped entries are not assumed to be zero. Published boundaries may differ between elections.
Ward + municipal PR votes by election
Swipe to see history
| Election | Party | Votes | Vote share (%) | Valid ballot total | Availability |
|---|---|---|---|---|---|
| 2 000 | AFRICAN NATIONAL CONGRESS | 4 976 | 59,7216 | 8 332 | Reported |
| 2 000 | DEMOCRATIC ALLIANCE | 3 055 | 36,6659 | 8 332 | Reported |
| 2 000 | CONGRESS OF THE PEOPLE | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | INDEPENDENT DEMOCRATS | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | PATRIOTIC ALLIANCE | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | ECONOMIC FREEDOM FIGHTERS | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | KHOISAN REVOLUTION | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | PEOPLE'S MOVEMENT FOR CHANGE | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 301 | 3,6126 | 8 332 | Reported |
| 2 000 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | DIE FORUM | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 000 | RESTORATION SA | 0 | 0 | 8 332 | No votes recorded in the complete party list. |
| 2 006 | AFRICAN NATIONAL CONGRESS | 6 170 | 69,8043 | 8 839 | Reported |
| 2 006 | DEMOCRATIC ALLIANCE | 749 | 8,4738 | 8 839 | Reported |
| 2 006 | CONGRESS OF THE PEOPLE | 0 | 0 | 8 839 | No votes recorded in the complete party list. |
| 2 006 | INDEPENDENT DEMOCRATS | 1 581 | 17,8866 | 8 839 | Reported |
| 2 006 | PATRIOTIC ALLIANCE | 0 | 0 | 8 839 | No votes recorded in the complete party list. |
| 2 006 | ECONOMIC FREEDOM FIGHTERS | 0 | 0 | 8 839 | No votes recorded in the complete party list. |
| 2 006 | KHOISAN REVOLUTION | 0 | 0 | 8 839 | No votes recorded in the complete party list. |
| 2 006 | PEOPLE'S MOVEMENT FOR CHANGE | 0 | 0 | 8 839 | No votes recorded in the complete party list. |
| 2 006 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 72 | 0,8146 | 8 839 | Reported |
| 2 006 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 267 | 3,0207 | 8 839 | Reported |
| 2 006 | DIE FORUM | 0 | 0 | 8 839 | No votes recorded in the complete party list. |
| 2 006 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 8 839 | No votes recorded in the complete party list. |
| 2 006 | RESTORATION SA | 0 | 0 | 8 839 | No votes recorded in the complete party list. |
| 2 011 | AFRICAN NATIONAL CONGRESS | 7 037 | 57,398 | 12 260 | Reported |
| 2 011 | DEMOCRATIC ALLIANCE | 2 118 | 17,2757 | 12 260 | Reported |
| 2 011 | CONGRESS OF THE PEOPLE | 2 908 | 23,7194 | 12 260 | Reported |
| 2 011 | INDEPENDENT DEMOCRATS | 0 | 0 | 12 260 | No votes recorded in the complete party list. |
| 2 011 | PATRIOTIC ALLIANCE | 0 | 0 | 12 260 | No votes recorded in the complete party list. |
| 2 011 | ECONOMIC FREEDOM FIGHTERS | 0 | 0 | 12 260 | No votes recorded in the complete party list. |
| 2 011 | KHOISAN REVOLUTION | 0 | 0 | 12 260 | No votes recorded in the complete party list. |
| 2 011 | PEOPLE'S MOVEMENT FOR CHANGE | 0 | 0 | 12 260 | No votes recorded in the complete party list. |
| 2 011 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 80 | 0,6525 | 12 260 | Reported |
| 2 011 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 117 | 0,9543 | 12 260 | Reported |
| 2 011 | DIE FORUM | 0 | 0 | 12 260 | No votes recorded in the complete party list. |
| 2 011 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 12 260 | No votes recorded in the complete party list. |
| 2 011 | RESTORATION SA | 0 | 0 | 12 260 | No votes recorded in the complete party list. |
| 2 016 | AFRICAN NATIONAL CONGRESS | 8 303 | 57,2265 | 14 509 | Reported |
| 2 016 | DEMOCRATIC ALLIANCE | 1 311 | 9,0358 | 14 509 | Reported |
| 2 016 | CONGRESS OF THE PEOPLE | 3 524 | 24,2884 | 14 509 | Reported |
| 2 016 | INDEPENDENT DEMOCRATS | 0 | 0 | 14 509 | No votes recorded in the complete party list. |
| 2 016 | PATRIOTIC ALLIANCE | 2 | 0,0138 | 14 509 | Reported |
| 2 016 | ECONOMIC FREEDOM FIGHTERS | 505 | 3,4806 | 14 509 | Reported |
| 2 016 | KHOISAN REVOLUTION | 3 | 0,0207 | 14 509 | Reported |
| 2 016 | PEOPLE'S MOVEMENT FOR CHANGE | 0 | 0 | 14 509 | No votes recorded in the complete party list. |
| 2 016 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 14 509 | No votes recorded in the complete party list. |
| 2 016 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 191 | 1,3164 | 14 509 | Reported |
| 2 016 | DIE FORUM | 128 | 0,8822 | 14 509 | Reported |
| 2 016 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 14 509 | No votes recorded in the complete party list. |
| 2 016 | RESTORATION SA | 0 | 0 | 14 509 | No votes recorded in the complete party list. |
| 2 021 | AFRICAN NATIONAL CONGRESS | 6 393 | 46,4371 | 13 767 | Reported |
| 2 021 | DEMOCRATIC ALLIANCE | 2 912 | 21,152 | 13 767 | Reported |
| 2 021 | CONGRESS OF THE PEOPLE | 770 | 5,5931 | 13 767 | Reported |
| 2 021 | INDEPENDENT DEMOCRATS | 0 | 0 | 13 767 | No votes recorded in the complete party list. |
| 2 021 | PATRIOTIC ALLIANCE | 0 | 0 | 13 767 | No votes recorded in the complete party list. |
| 2 021 | ECONOMIC FREEDOM FIGHTERS | 937 | 6,8061 | 13 767 | Reported |
| 2 021 | KHOISAN REVOLUTION | 546 | 3,966 | 13 767 | Reported |
| 2 021 | PEOPLE'S MOVEMENT FOR CHANGE | 0 | 0 | 13 767 | No votes recorded in the complete party list. |
| 2 021 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 13 767 | No votes recorded in the complete party list. |
| 2 021 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 472 | 3,4285 | 13 767 | Reported |
| 2 021 | DIE FORUM | 0 | 0 | 13 767 | No votes recorded in the complete party list. |
| 2 021 | SOUTH AFRICAN COMMUNIST PARTY | 0 | 0 | 13 767 | No votes recorded in the complete party list. |
| 2 021 | RESTORATION SA | 0 | 0 | 13 767 | No votes recorded in the complete party list. |
| 2 026 | AFRICAN NATIONAL CONGRESS | 7 448 | 50,0807 | 14 872 | Reported |
| 2 026 | DEMOCRATIC ALLIANCE | 3 963 | 26,6474 | 14 872 | Reported |
| 2 026 | CONGRESS OF THE PEOPLE | 101 | 0,6791 | 14 872 | Reported |
| 2 026 | INDEPENDENT DEMOCRATS | 0 | 0 | 14 872 | No votes recorded in the complete party list. |
| 2 026 | PATRIOTIC ALLIANCE | 1 872 | 12,5874 | 14 872 | Reported |
| 2 026 | ECONOMIC FREEDOM FIGHTERS | 563 | 3,7856 | 14 872 | Reported |
| 2 026 | KHOISAN REVOLUTION | 71 | 0,4774 | 14 872 | Reported |
| 2 026 | PEOPLE'S MOVEMENT FOR CHANGE | 563 | 3,7856 | 14 872 | Reported |
| 2 026 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 14 872 | No votes recorded in the complete party list. |
| 2 026 | VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS | 250 | 1,681 | 14 872 | Reported |
| 2 026 | DIE FORUM | 0 | 0 | 14 872 | No votes recorded in the complete party list. |
| 2 026 | SOUTH AFRICAN COMMUNIST PARTY | 31 | 0,2084 | 14 872 | Reported |
| 2 026 | RESTORATION SA | 10 | 0,0672 | 14 872 | Reported |
Ward + municipal PR votes. Missing and grouped entries are not assumed to be zero. Published boundaries may differ between elections.
History data & sources
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.
- All points use the same ballot basis. Ballot totals are not counts of individual voters.
- 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.
- Missing or grouped party rows remain gaps unless a complete, ungrouped list establishes zero votes.
- Municipal boundaries can change between elections. Published area results are not boundary-adjusted.
Council government
Who has governed here
Administrations & sources
MISTRA records the administrations that governed after the 2021 election, through 28 February 2026. The latest recorded administration is shown below, followed by its predecessors. Party roles and officeholders are recorded at formation; later changes may appear in the notes.
Members at formation · minority administration · 25 Nov 2021 – 25 Nov 2024
Outside support at formation: EFF. Supporters are separate from governing members.
Inaugural mayor: R. Christie (DA)
Source notes: A by-election in October 2024 moved a seat from the DA to the ANC during this administration, giving the ANC six of eleven seats. The DA and COPE continued to govern for another 47 days.
1 recorded administration · 2021–February 2026
- COPE + DA + Independents (grouped)
25 Nov 2021 → 25 Nov 2024 · MONC
Members at formation. Outside support: EFF. Inaugural mayor: R. Christie.
A by-election in October 2024 moved a seat from the DA to the ANC during this administration, giving the ANC six of eleven seats. The DA and COPE continued to govern for another 47 days.
Ward results
Find my wardFind your ward
Loading map…
Wards covering Gannaput
2 wards
| Ward | Election | Party / entry | Votes | Vote share (%) |
|---|---|---|---|---|
| Ward 1 | 2 026 | AFRICAN NATIONAL CONGRESS | 491 | 51,8479 |
| Ward 1 | 2 026 | DEMOCRATIC ALLIANCE | 313 | 33,0517 |
| Ward 5 | 2 026 | AFRICAN NATIONAL CONGRESS | 808 | 68,0135 |
| Ward 5 | 2 026 | PATRIOTIC ALLIANCE | 161 | 13,5522 |
The two largest published entries shown on each ward card. Open a ward for all entries.
Sources & result details
IEC: 05 Nov 2026, 19:26 SAST · checked 10 Nov 2026, 06:57 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.
Government comparisons use the confirmed pre-election administration when available, otherwise the latest dated record. The new government appears when its membership is confirmed. A retained or changed government requires confirmed records on both sides; seats alone cannot establish it.
Vote percentages beside council seats combine ward and municipal PR ballots. Seat counts include both ward and PR councillors.
Seat calculation & source
These are the ward and PR seats published by the IEC. The totals add up to all 11 council seats. 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. A seat majority does not establish a governing agreement or who will become mayor.
IEC result time: 05 Nov 2026, 19:26 SAST · Source figures ↗
Ward vs PR ballots
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 seatsThe council results cover all of !KHEIS. Ward results include areas outside Gannaput.
This page uses the Stats SA statistical main-place boundary labelled 2016. It overlaps 2 of the 2026 wards; the everyday town boundary may differ.
Positive-area intersections of the full-precision 2016 Stats SA main-place polygon and the MDB 2026 ward polygons. Display simplification is applied separately. Full-ward figures include votes outside the place; votes are never allocated by overlap area.