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 ↗

    Ray Nkonyeni KwaZulu-Natal

    Ward 13 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 13.

    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 ↗

    Ray Nkonyeni KwaZulu-Natal

    Ray Nkonyeni 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 Ray Nkonyeni.

    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.

  3. Correction SAST ↗

    Ray Nkonyeni KwaZulu-Natal

    Correction: DA wins Ward 13

    Read the correction →

    LESLEY ANNE WILLIAMS. 204 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.

  4. Correction SAST ↗

    Ray Nkonyeni KwaZulu-Natal

    Correction: Hung council in Ray Nkonyeni

    36 seats needed for a majority.

    View the 71-seat allocation
    • MK24 seats
    • ANC21 seats
    • DA13 seats
    • IFP6 seats
    • EFF2 seats
    • FF+2 seats
    • ACDP1 seats
    • AFRICAN INDEPENDENT CONGRESS1 seats
    • AFRICAN TRANSFORMATION MOVEMENT1 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.

  5. Correction SAST ↗

    Msunduzi KwaZulu-Natal

    Correction: DA wins Ward 36

    DOUGLAS LESLIE ROBERTS. 2 425 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.

  6. Correction SAST ↗

    Msunduzi KwaZulu-Natal

    Correction: Hung council in Msunduzi

    41 seats needed for a majority.

    View the 81-seat allocation
    • MK31 seats
    • ANC17 seats
    • DA17 seats
    • IFP7 seats
    • INDEPENDENT COUNCILLORS3 seats
    • ActionSA1 seats
    • AFRIKA MAYIBUYE MOVEMENT1 seats
    • EFF1 seats
    • Independent candidates (combined)1 seats
    • SACP1 seats
    • FF+1 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.

  7. Correction SAST ↗

    Ray Nkonyeni KwaZulu-Natal

    Ward 13 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 13.

    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 ↗

    Ray Nkonyeni KwaZulu-Natal

    Ray Nkonyeni 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 Ray Nkonyeni.

    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 ↗

    JB Marks North West

    Correction: Counting complete in JB Marks

    All 106 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.

  10. Correction SAST ↗

    JB Marks North West

    Correction: Hung council in JB Marks

    34 seats needed for a majority.

    View the 67-seat allocation
    • ANC22 seats
    • DA21 seats
    • FF+6 seats
    • ActionSA5 seats
    • EFF5 seats
    • BAAGI3 seats
    • ACDP1 seats
    • CONCERNED POTCHEFSTROOM RESIDENTS1 seats
    • PA1 seats
    • SACP1 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.

  11. Correction SAST ↗

    Rustenburg North West

    Correction: Counting complete in Rustenburg

    Read the correction →

    All 176 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.

  12. Correction SAST ↗

    JB Marks North West

    JB Marks 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 JB Marks.

    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 ↗

    Rustenburg North West

    Correction: ANC wins Ward 33

    JUSTICE MOLEFE. 233 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 ↗

    Rustenburg North West

    Correction: Hung council in Rustenburg

    Read the correction →

    46 seats needed for a majority.

    View the 90-seat allocation
    • ANC35 seats
    • DA13 seats
    • EFF12 seats
    • ActionSA6 seats
    • SACP4 seats
    • LABOUR PARTY OF SOUTH AFRICA3 seats
    • MK3 seats
    • FF+3 seats
    • RUSTENBURG PEOPLE'S PARTY2 seats
    • SERITI LE KAELO INDEPENDENT PARTY2 seats
    • AFRICAN TRANSFORMATION MOVEMENT1 seats
    • BADIREDI BA SETŠHABA1 seats
    • BAKANANA PELE CAMPAIGN1 seats
    • LETHABONG SERVICE MOVEMENT1 seats
    • PA1 seats
    • PURPLE PARTY IKAGENG1 seats
    • TSOGANG CIVIC MOVEMENT1 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.

  15. Correction SAST ↗

    JB Marks North West

    JB Marks 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 JB Marks.

    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.

  16. Correction SAST ↗

    eThekwini KwaZulu-Natal

    Correction: DA wins Ward 102

    PATRICK LULAMA PHEMBELA. 3 661 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 ↗

    City of Mbombela Mpumalanga

    Correction: Counting complete in City of Mbombela

    All 285 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.

  18. Correction SAST ↗

    City of Mbombela Mpumalanga

    Correction: ANC wins Ward 11

    NKOSINATHI PRINCE KHUMALO. 1 456 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.

  19. Correction SAST ↗

    City of Mbombela Mpumalanga

    Correction: Hung council in City of Mbombela

    46 seats needed for a majority.

    View the 90-seat allocation
    • ANC43 seats
    • DA14 seats
    • EFF11 seats
    • SERVICE DELIVERY PARTY8 seats
    • MK4 seats
    • FF+4 seats
    • ActionSA2 seats
    • SACP2 seats
    • ACDP1 seats
    • AFRICAN TRANSFORMATION MOVEMENT1 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.

  20. Correction SAST ↗

    Msunduzi KwaZulu-Natal

    Ward 36 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 36.

    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 ↗

    Msunduzi KwaZulu-Natal

    Msunduzi 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 Msunduzi.

    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 ↗

    City of Mbombela Mpumalanga

    Ward 11 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 11.

    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 ↗

    City of Mbombela Mpumalanga

    City of Mbombela 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 Mbombela.

    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 ↗

    Msunduzi KwaZulu-Natal

    Msunduzi 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 Msunduzi.

    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 Mbombela Mpumalanga

    City of Mbombela 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 Mbombela.

    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 ↗

    eThekwini KwaZulu-Natal

    Ward 102 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 102.

    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 ↗

    Rustenburg North West

    Ward 33 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 33.

    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.

  28. 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.

  29. 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.

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