Counted.co.zaPlay game

2026 local elections · South Africa

Latest updates

Majority or hung council?

More than half the seats makes an outright majority.

Outright majority

One party holds more than half the council seats.

Hung council

No party has a majority. Parties may work together in a coalition or support agreement.

Seats pending

The allocation is incomplete. Estimates can change as more results arrive.

Illustration: a 10-seat council needs 6 seats for a majority. Exactly half is not enough. Election results alone do not tell us who governs now.

Understanding the results

Government guide to coalitions

Corrections

Earlier updates

Clear filters

8 November 2026

  1. Correction SAST ↗

    Rustenburg North West

    Rustenburg seat allocation under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported council allocation.

    View the earlier announcement →Previously: Hung council in Rustenburg.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  2. Correction SAST ↗

    Rustenburg North West

    Rustenburg count status under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported completed count.

    View the earlier announcement →Previously: Counting complete in Rustenburg.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

7 November 2026

  1. Correction SAST ↗

    Thabazimbi Limpopo

    Correction: ANC wins Ward 9

    NKELE LETTAH MALULEKA. 175 votes ahead.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  2. Correction SAST ↗

    Thabazimbi Limpopo

    Correction: Hung council in Thabazimbi

    12 seats needed for a majority.

    View the 23-seat allocation
    • ANC8 seats
    • DA4 seats
    • SACP3 seats
    • EFF2 seats
    • FF+2 seats
    • LABOUR PARTY OF SOUTH AFRICA1 seats
    • SUCCESS AFRICAN MOVEMENT1 seats
    • THABAZIMBI RESIDENTS ASSOCIATION1 seats
    • UNITED RESIDENT'S PARTY1 seats

    View the earlier announcement →

    Build a majority Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  3. Correction SAST ↗

    City of Tshwane Gauteng

    Correction: Counting complete in City of Tshwane

    All 796 voting districts have reported.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  4. Correction SAST ↗

    City of Tshwane Gauteng

    Correction: DA wins Ward 57

    JOHANNES LODEWICUS PAGE. 1 599 votes ahead.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  5. Correction SAST ↗

    City of Tshwane Gauteng

    Correction: Hung council in City of Tshwane

    108 seats needed for a majority.

    View the 214-seat allocation
    • DA74 seats
    • ActionSA48 seats
    • ANC44 seats
    • FF+17 seats
    • EFF13 seats
    • MK4 seats
    • SACP3 seats
    • PA2 seats
    • ACDP1 seats
    • AFRICAN INDEPENDENT CONGRESS1 seats
    • AFRICAN TRANSFORMATION MOVEMENT1 seats
    • AFRIKA MAYIBUYE MOVEMENT1 seats
    • BUILD ONE SOUTH AFRICA1 seats
    • RISE MZANSI1 seats
    • SECURITY PERSONNEL PARTY OF SOUTH AFRICA1 seats
    • SERVICE DELIVERY PARTY1 seats
    • UNITED AFRICANS TRANSFORMATION1 seats

    View the earlier announcement →

    Build a majority Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  6. Correction SAST ↗

    Thabazimbi Limpopo

    Ward 9 result under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported ward winner.

    View the earlier announcement →Previously: ANC wins Ward 9.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  7. Correction SAST ↗

    Thabazimbi Limpopo

    Thabazimbi seat allocation under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported council allocation.

    View the earlier announcement →Previously: Hung council in Thabazimbi.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  8. Correction SAST ↗

    City of Johannesburg Gauteng

    Correction: ANC wins Ward 26

    SITHEMBISO MASHININI. 725 votes ahead.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  9. Correction SAST ↗

    City of Tshwane Gauteng

    Correction: DA wins Ward 1

    PRISCILLA ELIZE PANNELL. 3 575 votes ahead.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  10. Correction SAST ↗

    City of Tshwane Gauteng

    Ward 57 result under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported ward winner.

    View the earlier announcement →Previously: DA wins Ward 57.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  11. Correction SAST ↗

    City of Tshwane Gauteng

    Ward 1 result under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported ward winner.

    View the earlier announcement →Previously: DA wins Ward 1.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  12. Correction SAST ↗

    City of Tshwane Gauteng

    City of Tshwane seat allocation under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported council allocation.

    View the earlier announcement →Previously: Hung council in City of Tshwane.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  13. Correction SAST ↗

    Emfuleni Gauteng

    Correction: DA wins Ward 16

    ANDRIES NEL. 1 531 votes ahead.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  14. Correction SAST ↗

    City of Johannesburg Gauteng

    Ward 26 result under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported ward winner.

    View the earlier announcement →Previously: IFP wins Ward 26.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  15. Correction SAST ↗

    Mangaung Free State

    Correction: Hung council in Mangaung

    51 seats needed for a majority.

    View the 101-seat allocation
    • ANC35 seats
    • DA34 seats
    • EFF9 seats
    • FF+6 seats
    • PA4 seats
    • ActionSA3 seats
    • SACP2 seats
    • ACDP1 seats
    • AFRICAN CULTURAL IDENTITY MOVEMENT1 seats
    • AFRICAN INDEPENDENT CONGRESS1 seats
    • AFRICAN TRANSFORMATION MOVEMENT1 seats
    • AFRIKAN ALLIANCE OF SOCIAL DEMOCRATS1 seats
    • MANGAUNG SEVEN PEOPLE'S VOICE1 seats
    • NATIONAL SERVICE DELIVERY FORUM1 seats
    • MK1 seats

    View the earlier announcement →

    Build a majority Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  16. Correction SAST ↗

    City of Johannesburg Gauteng

    Correction: ANC wins Ward 122

    NKOSEPHAYO GOD-SLOVE ZUNGU. 4 194 votes ahead.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  17. Correction SAST ↗

    Dr. A.B. Xuma Eastern Cape

    Correction: ANC wins Ward 12

    NYAMEKA CONSTANCE MAQUNGO. 1 004 votes ahead.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  18. Correction SAST ↗

    Dr. A.B. Xuma Eastern Cape

    Correction: ANC has an outright majority in Dr. A.B. Xuma

    24 of 38 council seats.

    View the 38-seat allocation
    • ANC24 seats
    • AFRICAN TRANSFORMATION MOVEMENT7 seats
    • NGCOBO YETHU CIVIC ORGANIZATION3 seats
    • AFRICAN INDEPENDENT CONGRESS1 seats
    • DA1 seats
    • EFF1 seats
    • PAC1 seats

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  19. Correction SAST ↗

    Mangaung Free State

    Mangaung seat allocation under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported council allocation.

    View the earlier announcement →Previously: Hung council in Mangaung.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  20. Correction SAST ↗

    Dr. A.B. Xuma Eastern Cape

    Ward 12 result under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported ward winner.

    View the earlier announcement →Previously: ANC wins Ward 12.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  21. Correction SAST ↗

    Dr. A.B. Xuma Eastern Cape

    Dr. A.B. Xuma seat allocation under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported council allocation.

    View the earlier announcement →Previously: ANC has an outright majority in Dr. A.B. Xuma.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  22. Correction SAST ↗

    Buffalo City Eastern Cape

    Correction: Counting complete in Buffalo City

    All 380 voting districts have reported.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  23. Correction SAST ↗

    Breede Valley Western Cape

    Correction: Counting complete in Breede Valley

    All 58 voting districts have reported.

    View the earlier announcement →

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  24. Correction SAST ↗

    Buffalo City Eastern Cape

    Buffalo City count status under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported completed count.

    View the earlier announcement →Previously: Counting complete in Buffalo City.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  25. Correction SAST ↗

    City of Tshwane Gauteng

    City of Tshwane count status under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported completed count.

    View the earlier announcement →Previously: Counting complete in City of Tshwane.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  26. Correction SAST ↗

    City of Johannesburg Gauteng

    Ward 122 result under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported ward winner.

    View the earlier announcement →Previously: ANC wins Ward 122.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  27. Correction SAST ↗

    Breede Valley Western Cape

    Correction: Hung council in Breede Valley

    21 seats needed for a majority.

    View the 41-seat allocation
    • DA20 seats
    • ANC7 seats
    • PA5 seats
    • BREEDEVALLEI ONAFHANKLIK3 seats
    • FF+3 seats
    • ACDP1 seats
    • EFF1 seats
    • GOOD1 seats

    View the earlier announcement →

    Build a majority Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

  28. Correction SAST ↗

    Breede Valley Western Cape

    Breede Valley seat allocation under revision

    Read the correction →

    The latest IEC figures no longer support the previously reported council allocation.

    View the earlier announcement →Previously: Hung council in Breede Valley.

    View latest results Saved update
    Source & timing
    IEC report
    Observed by Counted
    Published here

    This is the snapshot recorded at that time, not a certified final allocation. View the latest results and any corrections. These timestamps do not identify when the last vote was counted.

Earlier updates ↓

Back to latest updates ↑

About these updates

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. This feed records saved observations, not certified final snapshots. Follow corrections and latest results.

Give something back

Found Counted useful? Support the South African non-profits holding power to account.

Donations go directly to each organisation.

Share results