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

All updates

Earlier updates

Clear filters

9 November 2026

  1. Correction SAST ↗

    Matjhabeng Free State

    Matjhabeng count status under revision

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

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

    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 November 2026

  1. Correction SAST ↗

    Msunduzi KwaZulu-Natal

    Ward 8 result under revision

    Read the correction →

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

    View the earlier announcement →Previously: INDEPENDENT COUNCILLORS wins Ward 8.

    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 ↗

    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.

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

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

  5. Count complete SAST ↗

    eThekwini KwaZulu-Natal

    Counting complete in eThekwini

    Read the correction →

    All 839 voting districts have reported.

    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. Ward result SAST ↗

    eThekwini KwaZulu-Natal

    MK wins Ward 80

    Read the correction →

    THABANE HLONGWANE. 2 313 votes ahead.

    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. Ward result SAST ↗

    eThekwini KwaZulu-Natal

    DA wins Ward 71

    RAMONA VALAYATHAN. 1 458 votes ahead.

    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. Council outcome SAST ↗

    eThekwini KwaZulu-Natal

    Hung council in eThekwini

    Read the correction →

    112 seats needed for a majority.

    View the 223-seat allocation
    • MK86 seats
    • DA57 seats
    • ANC37 seats
    • IFP15 seats
    • ActionSA7 seats
    • EFF4 seats
    • AFRICAN TRANSFORMATION MOVEMENT2 seats
    • ETHEKWINI RATEPAYERS POLITICAL MOVEMENT2 seats
    • FF+2 seats
    • 1860NIC CONGRESS1 seats
    • ACDP1 seats
    • AFRICAN INDEPENDENT CONGRESS1 seats
    • AL JAMA-AH1 seats
    • DEMOCRATIC LIBERAL CONGRESS1 seats
    • INDEPENDENT PEOPLE'S PARTY1 seats
    • MINORITY FRONT1 seats
    • PA1 seats
    • PEOPLE'S FREEDOM PARTY1 seats
    • PEOPLE'S REVOLUTIONARY MOVEMENT1 seats
    • SACP1 seats
    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 ↗

    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.

  10. Count complete SAST ↗

    Ray Nkonyeni KwaZulu-Natal

    Counting complete in Ray Nkonyeni

    Read the correction →

    All 172 voting districts have reported.

    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 ↗

    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.

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

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

  14. Ward result SAST ↗

    eThekwini KwaZulu-Natal

    MK wins Ward 88

    Read the correction →

    CEBO NTOKOZO MTSHALI. 2 632 votes ahead.

    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. Ward result SAST ↗

    Emfuleni Gauteng

    DA wins Ward 8

    MAUREEN ALICE MADINOGE MAMPURU. 664 votes ahead.

    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. Council outcome SAST ↗

    Emfuleni Gauteng

    Hung council in Emfuleni

    46 seats needed for a majority.

    View the 90-seat allocation
    • DA37 seats
    • ANC22 seats
    • EFF6 seats
    • ActionSA5 seats
    • FF+5 seats
    • MK4 seats
    • SACP3 seats
    • ACTIVE CITIZENS OF SOUTH AFRICA2 seats
    • PAC2 seats
    • AFRICAN TRANSFORMATION MOVEMENT1 seats
    • AFRIKA MAYIBUYE MOVEMENT1 seats
    • PA1 seats
    • TAU DIA RORA CULTURAL AND TRADITIONAL LEKGOTLA1 seats
    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.

  17. Count complete SAST ↗

    Emfuleni Gauteng

    Counting complete in Emfuleni

    All 168 voting districts have reported.

    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. Ward result SAST ↗

    City of Johannesburg Gauteng

    PA wins Ward 29

    RAYMONT ISMAEL STEENKAMP. 83 votes ahead.

    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. Ward result SAST ↗

    Emfuleni Gauteng

    DA wins Ward 27

    LAZARUS MOALAFI. 405 votes ahead.

    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 ↗

    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.

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

  22. Count complete SAST ↗

    City of Johannesburg Gauteng

    Counting complete in City of Johannesburg

    Read the correction →

    All 862 voting districts have reported.

    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. Council outcome SAST ↗

    City of Johannesburg Gauteng

    Hung council in City of Johannesburg

    Read the correction →

    136 seats needed for a majority.

    View the 270-seat allocation
    • DA91 seats
    • ANC63 seats
    • ActionSA43 seats
    • EFF17 seats
    • MK15 seats
    • IFP7 seats
    • PA5 seats
    • RISE MZANSI5 seats
    • FF+5 seats
    • AFRICAN TRANSFORMATION MOVEMENT3 seats
    • AL JAMA-AH3 seats
    • ACDP2 seats
    • AFRIKA MAYIBUYE MOVEMENT2 seats
    • SACP2 seats
    • AFRICAN HEART CONGRESS1 seats
    • AFRICAN INDEPENDENT CONGRESS1 seats
    • AFRICAN PEOPLE'S CONVENTION1 seats
    • BUILD ONE SOUTH AFRICA1 seats
    • ECONOMIC LIBERATORS FORUM SOUTH AFRICA1 seats
    • PAC1 seats
    • PEOPLE'S MOVEMENT FOR CHANGE1 seats
    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 ↗

    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.

  25. Ward result SAST ↗

    Emfuleni Gauteng

    DA wins Ward 32

    TSHEPO MASIKE. 51 votes ahead.

    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. Ward result SAST ↗

    Emfuleni Gauteng

    DA wins Ward 18

    ISAAC LEHLOHONONO TLHADISI MOTLOUNG. 310 votes ahead.

    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. Ward result SAST ↗

    JB Marks North West

    DA wins Ward 15

    JACOMINA CASALEGGIO. 661 votes ahead.

    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 ↗

    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.

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

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