2026 local elections
ActionSA
What stands out
26 comparable councilsThe long view
Local elections| Election | Votes | Vote share (%) | Availability |
|---|---|---|---|
| 2 000 | Unavailable | Unavailable | Not separately listed in this source. |
| 2 006 | Unavailable | Unavailable | Not separately listed in this source. |
| 2 011 | Unavailable | Unavailable | Not separately listed in this source. |
| 2 016 | Unavailable | Unavailable | Not separately listed in this source. |
| 2 021 | 547 905 | 2,3348 | Reported |
| 2 026 | 1 689 369 | 5,6724 | Reported |
Gaps mean unavailable data. All elections use the same ballot basis.
Ward + municipal PR vote · Gaps mean unavailable data
Across the provinces
| Province | Vote share (%) | Basis / status |
|---|---|---|
| Gauteng | 16,8705 | IEC province summary |
| Eastern Cape | Unavailable | Unavailable |
| Free State | Unavailable | Unavailable |
| KwaZulu-Natal | Unavailable | Unavailable |
| Limpopo | Unavailable | Unavailable |
| Mpumalanga | Unavailable | Unavailable |
| North West | Unavailable | Unavailable |
| Northern Cape | Unavailable | Unavailable |
| Western Cape | Unavailable | Unavailable |
Ward + municipal PR vote · * Count in progress
The council picture
211 of 213 local + metro allocations reported · Majority changes across 212 comparable councils, 2021–2026
Coalition possibilities
Johannesburg
Ekurhuleni
Seat arithmetic, not confirmed agreements. The marker shows the majority needed.
Past partners
Shared governments · Nov 2021–Feb 2026
Local results
79 councilsNo matching councils.
| Council | Province | 2026 vote share (%) | 2021 vote share (%) | Change (pp) | 2026 seats | 2021 seats |
|---|---|---|---|---|---|---|
| Laingsburg | Western Cape | 26,5908 | 0 | 26,5908 | 3 | 0 |
| Tshwane | Gauteng | 22,0696 | Unavailable | Unavailable | 48 | 19 |
| Ekurhuleni | Gauteng | 18,4993 | Unavailable | Unavailable | 40 | 15 |
| Ramotshere Moiloa | North West | 18,1817 | Unavailable | Unavailable | 6 | Unavailable |
| Johannesburg | Gauteng | 16,2685 | Unavailable | Unavailable | 43 | 44 |
| Ba-Phalaborwa | Limpopo | 15,5979 | Unavailable | Unavailable | 6 | Unavailable |
| Greater Tzaneen | Limpopo | 13,2393 | Unavailable | Unavailable | 9 | Unavailable |
| Moretele | North West | 12,747 | Unavailable | Unavailable | 7 | Unavailable |
| Polokwane | Limpopo | 11,116 | Unavailable | Unavailable | 10 | Unavailable |
| Greater Letaba | Limpopo | 9,9073 | Unavailable | Unavailable | 6 | Unavailable |
| Mogale City | Gauteng | 8,8488 | Unavailable | Unavailable | 7 | Unavailable |
| Mafikeng | North West | 8,5929 | Unavailable | Unavailable | 6 | Unavailable |
| Greater Taung | North West | 8,0966 | Unavailable | Unavailable | 4 | Unavailable |
| JB Marks | North West | 7,8793 | 0 | 7,8793 | 5 | 0 |
| Dr JS Moroka | Mpumalanga | 6,8855 | Unavailable | Unavailable | 4 | Unavailable |
| Rand West City | Gauteng | 6,8218 | Unavailable | Unavailable | 5 | Unavailable |
| Lepele-Nkumpi | Limpopo | 6,3568 | Unavailable | Unavailable | 4 | Unavailable |
| Madibeng | North West | 6,263 | Unavailable | Unavailable | 5 | Unavailable |
| Rustenburg | North West | 6,1729 | Unavailable | Unavailable | 6 | Unavailable |
| Phokwane | Northern Cape | 5,998 | 0 | 5,998 | 1 | 0 |
| Emakhazeni | Mpumalanga | 5,9278 | 0 | 5,9278 | 1 | 0 |
| Emfuleni | Gauteng | 5,8505 | Unavailable | Unavailable | 5 | Unavailable |
| Ratlou | North West | 5,6956 | 0 | 5,6956 | 2 | 0 |
| Dipaleseng | Mpumalanga | 5,3088 | 0 | 5,3088 | 1 | 0 |
| Molemole | Limpopo | 5,2269 | Unavailable | Unavailable | 2 | Unavailable |
| Thembisile Hani | Mpumalanga | 5,1749 | Unavailable | Unavailable | 3 | Unavailable |
| Tswaing | North West | 5,1667 | 0 | 5,1667 | 2 | 0 |
| Lekwa-Teemane | North West | 4,7806 | 0 | 4,7806 | 1 | 0 |
| Mamusa | North West | 4,7687 | 0 | 4,7687 | 1 | 0 |
| Newcastle | KwaZulu-Natal | 4,7321 | Unavailable | Unavailable | 3 | 3 |
| Beaufort West | Western Cape | 4,731 | 0 | 4,731 | 1 | 0 |
| Emalahleni | Mpumalanga | 4,4567 | Unavailable | Unavailable | 3 | Unavailable |
| Kgetlengrivier | North West | 4,335 | 0 | 4,335 | 1 | 0 |
| Makhuduthamaga | Limpopo | 3,953 | Unavailable | Unavailable | 3 | Unavailable |
| Ditsobotla | North West | 3,8536 | Unavailable | Unavailable | 2 | Unavailable |
| Moses Kotane | North West | 3,6947 | Unavailable | Unavailable | 3 | Unavailable |
| Lesedi | Gauteng | 3,6143 | Unavailable | Unavailable | 1 | Unavailable |
| Merafong City | Gauteng | 3,6001 | Unavailable | Unavailable | 2 | Unavailable |
| Steve Tshwete | Mpumalanga | 3,3835 | 0 | 3,3835 | 2 | 0 |
| Collins Chabane | Limpopo | 3,3442 | Unavailable | Unavailable | 3 | Unavailable |
| Matlosana | North West | 3,2094 | Unavailable | Unavailable | 3 | Unavailable |
| Fetakgomo Tubatse | Limpopo | 3,1452 | Unavailable | Unavailable | 3 | Unavailable |
| Dannhauser | KwaZulu-Natal | 3,0216 | Unavailable | Unavailable | 1 | Unavailable |
| Midvaal | Gauteng | 2,9789 | Unavailable | Unavailable | 1 | Unavailable |
| eThekwini | KwaZulu-Natal | 2,8513 | Unavailable | Unavailable | 7 | 4 |
| Metsimaholo | Free State | 2,8086 | Unavailable | Unavailable | 1 | Unavailable |
| Enoch Mgijima | Eastern Cape | 2,7572 | Unavailable | Unavailable | 2 | Unavailable |
| Cape Town | Western Cape | 2,7456 | Unavailable | Unavailable | 7 | Unavailable |
| Mangaung | Free State | 2,7199 | Unavailable | Unavailable | 3 | Unavailable |
| Maquassi Hills | North West | 2,6908 | 0 | 2,6908 | 1 | 0 |
| Kagisano-Molopo | North West | 2,489 | 0 | 2,489 | 1 | 0 |
| Prince Albert | Western Cape | 2,4853 | 0 | 2,4853 | 0 | 0 |
| Dihlabeng | Free State | 2,4722 | Unavailable | Unavailable | 1 | Unavailable |
| Naledi | North West | 2,3909 | 0 | 2,3909 | 1 | 0 |
| Mafube | Free State | 2,2891 | 0 | 2,2891 | 0 | 0 |
| Makhado | Limpopo | 2,2132 | Unavailable | Unavailable | 2 | Unavailable |
| uMhlathuze | KwaZulu-Natal | 2,1374 | Unavailable | Unavailable | 2 | Unavailable |
| Matjhabeng | Free State | 2,1347 | Unavailable | Unavailable | 2 | Unavailable |
| City of Mbombela | Mpumalanga | 2,0989 | 0 | 2,0989 | 2 | 0 |
| Thaba Chweu | Mpumalanga | 2,0601 | 0 | 2,0601 | 1 | 0 |
| Setsoto | Free State | 2,0209 | 0 | 2,0209 | 1 | 0 |
| Makana | Eastern Cape | 1,9033 | 0 | 1,9033 | 1 | 0 |
| Dr Pixley Ka Isaka Seme | Mpumalanga | 1,8554 | 0 | 1,8554 | 0 | 0 |
| Moqhaka | Free State | 1,8098 | Unavailable | Unavailable | 1 | Unavailable |
| Nelson Mandela Bay | Eastern Cape | 1,8078 | Unavailable | Unavailable | 2 | Unavailable |
| Greater Giyani | Limpopo | 1,773 | Unavailable | Unavailable | 1 | Unavailable |
| Buffalo City | Eastern Cape | 1,6343 | Unavailable | Unavailable | 2 | Unavailable |
| Chief Albert Luthuli | Mpumalanga | 1,483 | 0 | 1,483 | 1 | 0 |
| Msunduzi | KwaZulu-Natal | 1,2879 | Unavailable | Unavailable | 1 | Unavailable |
| Maphumulo | KwaZulu-Natal | 1,2463 | Unavailable | Unavailable | 0 | Unavailable |
| Bushbuckridge | Mpumalanga | 1,2221 | Unavailable | Unavailable | 1 | Unavailable |
| KwaDukuza | KwaZulu-Natal | 1,1163 | Unavailable | Unavailable | 1 | 5 |
| Victor Khanye | Mpumalanga | 1,1052 | 0 | 1,1052 | 0 | 0 |
| Dr. A.B. Xuma | Eastern Cape | 0,7472 | 0 | 0,7472 | 0 | 0 |
| Ndwedwe | KwaZulu-Natal | 0,5316 | Unavailable | Unavailable | 0 | Unavailable |
| Nongoma | KwaZulu-Natal | 0,4852 | 0 | 0,4852 | 0 | 0 |
| Nkomazi | Mpumalanga | 0,4245 | Unavailable | Unavailable | 0 | Unavailable |
| AbaQulusi | KwaZulu-Natal | 0,3565 | Unavailable | Unavailable | 0 | Unavailable |
| uPhongolo | KwaZulu-Natal | 0,2202 | Unavailable | Unavailable | 0 | Unavailable |
Ward + municipal PR ballots. Missing comparisons remain unavailable; changes use comparable completed counts.
Ward + municipal PR vote · Change in percentage points since 2021 · Missing comparisons shown as —