2026 local elections
Build One South Africa
What stands out
5 comparable councilsAcross the provinces
| Province | Vote share (%) | Basis / status |
|---|---|---|
| Eastern Cape | Unavailable | Unavailable |
| Free State | Unavailable | Unavailable |
| Gauteng | 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
Tshwane
Seat arithmetic, not confirmed agreements. The marker shows the majority needed.
Local results
23 councilsNo matching councils.
| Council | Province | 2026 vote share (%) | 2021 vote share (%) | Change (pp) | 2026 seats | 2021 seats |
|---|---|---|---|---|---|---|
| Oudtshoorn | Western Cape | 1,4364 | Unavailable | Unavailable | 0 | Unavailable |
| Kannaland | Western Cape | 1,116 | 0 | 1,116 | 0 | 0 |
| Blouberg | Limpopo | 0,9969 | Unavailable | Unavailable | 1 | Unavailable |
| Fetakgomo Tubatse | Limpopo | 0,9928 | Unavailable | Unavailable | 1 | Unavailable |
| Elias Motsoaledi | Limpopo | 0,6815 | Unavailable | Unavailable | 1 | Unavailable |
| Lephalale | Limpopo | 0,6412 | 0 | 0,6412 | 0 | 0 |
| Maruleng | Limpopo | 0,5071 | 0 | 0,5071 | 0 | 0 |
| Greater Letaba | Limpopo | 0,4983 | Unavailable | Unavailable | 0 | Unavailable |
| Beaufort West | Western Cape | 0,4759 | 0 | 0,4759 | 0 | 0 |
| Johannesburg | Gauteng | 0,4262 | Unavailable | Unavailable | 1 | Unavailable |
| Cape Town | Western Cape | 0,3683 | Unavailable | Unavailable | 1 | Unavailable |
| Molemole | Limpopo | 0,367 | Unavailable | Unavailable | 0 | Unavailable |
| Rand West City | Gauteng | 0,3148 | Unavailable | Unavailable | 0 | Unavailable |
| Ekurhuleni | Gauteng | 0,2782 | Unavailable | Unavailable | 1 | Unavailable |
| Mogale City | Gauteng | 0,2599 | Unavailable | Unavailable | 0 | Unavailable |
| Polokwane | Limpopo | 0,2497 | Unavailable | Unavailable | 0 | Unavailable |
| Mangaung | Free State | 0,2374 | Unavailable | Unavailable | 0 | Unavailable |
| Tshwane | Gauteng | 0,2236 | Unavailable | Unavailable | 1 | Unavailable |
| JB Marks | North West | 0,1963 | 0 | 0,1963 | 0 | 0 |
| Lesedi | Gauteng | 0,1905 | Unavailable | Unavailable | 0 | Unavailable |
| Emfuleni | Gauteng | 0,1863 | Unavailable | Unavailable | 0 | Unavailable |
| Greater Giyani | Limpopo | 0,1395 | Unavailable | Unavailable | 0 | Unavailable |
| Merafong City | Gauteng | 0,1163 | 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 —