Skip to main content
SA Data Hub

Local government elections 2026

2026 local election results by municipality

14 769 782 people cast a PR ballot in South Africa's 2026 local government elections, 51.7% of the 28 587 364 registered voters. Every municipality's results are on its own page.

Turnout on the PR ballot

51.7%

Votes cast on the PR ballot, valid and spoilt, as a share of registered voters at 23 429 voting stations.

Source: Electoral Commission of South Africa (IEC), 2026 Local Government Elections: detailed results by voting station, one file per province. Source released . Downloaded . Checked on SA Data Hub .

PR ballot votes across the country

Every voter gets a PR (proportional representation) ballot that lists parties, not candidates. Councils share out their seats using each party's ward and PR votes together, so PR votes are a close guide to seats but not an exact one. Adding them up across all 213 councils gives a national picture, though no national body was elected.

The ANC won 31.1% of PR ballot votes nationally.
  • ANC31.1%

    4 504 317 votes

  • DA24.7%

    3 577 162 votes

  • MK Party9.7%

    1 399 425 votes

  • EFF6.3%

    911 870 votes

  • ActionSA6.0%

    869 801 votes

  • IFP4.7%

    681 840 votes

  • FF Plus3.0%

    440 596 votes

  • SACP2.3%

    334 168 votes

  • Other parties12.3%

    1 786 513 votes

Source: Electoral Commission of South Africa (IEC), 2026 Local Government Elections: detailed results by voting station, one file per province. Source released . Downloaded . Checked on SA Data Hub .

Who won the 4 483 wards

Counted from the ward ballot: the candidate with the most votes in each ward wins it.

ANC
2 619 wards
DA
873 wards
MK Party
415 wards
IFP
305 wards
ActionSA
59 wards
EFF
39 wards
Patriotic Alliance
33 wards
UDM
22 wards
SACP
21 wards
FF Plus
10 wards
Rise Tsantsabane Communities
7 wards
African Content Movement
6 wards
Independent candidates
17 wards
Tied on the count
6 wards

51 more wards were won by 30 other parties.

Source: Electoral Commission of South Africa (IEC), 2026 Local Government Elections: detailed results by voting station, one file per province. Source released . Downloaded . Checked on SA Data Hub .

The eight metros

PR ballot leader, its share and turnout in each metro, 2026
MetroMost PR votesShareTurnout
City of JohannesburgDA35.3%52.2%
City of Cape TownDA56.8%54.4%
eThekwiniMK Party39.7%50.5%
City of TshwaneDA34.0%53.9%
EkurhuleniDA30.8%53.1%
Nelson Mandela BayDA44.4%52.4%
Buffalo CityANC41.7%55.2%
MangaungANC34.3%51.3%

Source: Electoral Commission of South Africa (IEC), 2026 Local Government Elections: detailed results by voting station, one file per province. Source released . Downloaded . Checked on SA Data Hub .

147 councils where no party won half the PR votes

Seats follow ward and PR votes together, so a party under half the PR votes can still end up with half the seats, or the other way round. Read this list as a guide to where coalitions may be needed, not as a list of hung councils.

Councils where no party won half the PR ballot votes, 2026
MunicipalityMost PR votesShare
Blue Crane RouteEastern CapeANC45.5%
Buffalo CityEastern CapeANC41.7%
Dr. Beyers NaudeEastern CapeDA40.2%
Enoch MgijimaEastern CapeANC44.5%
Great KeiEastern CapeANC49.7%
Inxuba YethembaEastern CapeANC45.0%
King Sabata DalindyeboEastern CapeANC47.7%
Kou-KammaEastern CapeANC38.9%
MakanaEastern CapeANC31.3%
MnqumaEastern CapeANC48.6%
NdlambeEastern CapeANC42.8%
Nelson Mandela BayEastern CapeDA44.4%
Walter SisuluEastern CapeANC47.3%
DihlabengFree StateANC45.8%
MafubeFree StateANC39.7%
Maluti a PhofungFree StateANC30.0%
MangaungFree StateANC34.3%
MasilonyanaFree StateANC37.5%
MatjhabengFree StateANC35.4%
MetsimaholoFree StateANC27.8%
MohokareFree StateANC47.0%
MoqhakaFree StateANC35.8%
NalaFree StateANC37.8%
NgwatheFree StateANC35.7%
NketoanaFree StateANC48.8%
PhumelelaFree StateANC45.4%
SetsotoFree StateANC45.0%
City of JohannesburgGautengDA35.3%
City of TshwaneGautengDA34.0%
EkurhuleniGautengDA30.8%
EmfuleniGautengDA41.4%
LesediGautengDA29.5%
Merafong CityGautengANC34.3%
Mogale CityGautengDA36.7%
Rand West CityGautengANC32.6%
AbaQulusiKwaZulu-NatalIFP41.9%
Alfred DumaKwaZulu-NatalIFP32.2%
Big Five HlabisaKwaZulu-NatalIFP44.8%
DannhauserKwaZulu-NatalMK Party30.1%
Dr. Nkosazana Dlamini ZumaKwaZulu-NatalMK Party40.1%
eDumbeKwaZulu-NatalIFP32.2%
eMadlangeniKwaZulu-NatalMK Party29.0%
eNdumeniKwaZulu-NatalMK Party33.3%
eThekwiniKwaZulu-NatalMK Party39.7%
Greater KokstadKwaZulu-NatalANC47.2%
iMpendleKwaZulu-NatalMK Party42.8%
iNkosi LangalibaleleKwaZulu-NatalIFP41.4%
Inkosi uMtubatubaKwaZulu-NatalIFP38.8%
Johannes Phumani PungulaKwaZulu-NatalMK Party48.6%
JoziniKwaZulu-NatalIFP35.6%
KwaDukuzaKwaZulu-NatalMK Party36.7%
MandeniKwaZulu-NatalMK Party49.1%
MaphumuloKwaZulu-NatalMK Party39.0%
MkhambathiniKwaZulu-NatalANC39.6%
MpofanaKwaZulu-NatalMK Party33.6%
MsunduziKwaZulu-NatalMK Party38.4%
NdwedweKwaZulu-NatalMK Party39.7%
NewcastleKwaZulu-NatalMK Party33.3%
NkandlaKwaZulu-NatalIFP50.0%
NqutuKwaZulu-NatalIFP42.0%
OkhahlambaKwaZulu-NatalIFP26.2%
Ray NkonyeniKwaZulu-NatalMK Party34.3%
uMdoniKwaZulu-NatalMK Party40.4%
uMfoloziKwaZulu-NatalIFP45.0%
uMhlabuyalinganaKwaZulu-NatalMK Party35.1%
uMhlathuzeKwaZulu-NatalMK Party39.0%
uMlalaziKwaZulu-NatalIFP42.6%
uMshwathiKwaZulu-NatalMK Party47.2%
uMuziwabantuKwaZulu-NatalMK Party35.7%
uMvotiKwaZulu-NatalIFP33.5%
uMzimkhuluKwaZulu-NatalANC49.7%
uMzumbeKwaZulu-NatalIFP41.5%
uPhongoloKwaZulu-NatalIFP34.9%
Ba-PhalaborwaLimpopoANC43.0%
Bela-BelaLimpopoANC41.2%
Elias MotsoalediLimpopoANC48.9%
Lepele-NkumpiLimpopoANC45.1%
LephalaleLimpopoANC46.4%
Modimolle-MookgophongLimpopoANC38.2%
MogalakwenaLimpopoANC43.0%
PolokwaneLimpopoANC42.1%
ThabazimbiLimpopoANC29.6%
City of MbombelaMpumalangaANC48.1%
DipalesengMpumalangaANC41.8%
Dr JS MorokaMpumalangaANC46.6%
Dr Pixley Ka Isaka SemeMpumalangaANC40.1%
EmakhazeniMpumalangaANC48.5%
EmalahleniMpumalangaANC31.4%
Govan MbekiMpumalangaDA30.4%
LekwaMpumalangaANC29.6%
MkhondoMpumalangaMK Party41.8%
MsukaligwaMpumalangaANC36.5%
Steve TshweteMpumalangaDA30.5%
Thaba ChweuMpumalangaANC41.0%
Thembisile HaniMpumalangaANC44.7%
Victor KhanyeMpumalangaService Delivery Party39.3%
DitsobotlaNorth WestANC40.0%
Greater TaungNorth WestANC46.7%
JB MarksNorth WestANC33.0%
KgetlengrivierNorth WestANC43.4%
Lekwa-TeemaneNorth WestANC35.0%
MadibengNorth WestANC41.8%
MafikengNorth WestANC44.1%
MamusaNorth WestANC45.5%
MatlosanaNorth WestANC40.8%
NalediNorth WestANC49.4%
Ramotshere MoiloaNorth WestANC43.4%
RustenburgNorth WestANC38.0%
!KHEISNorthern CapeANC49.9%
Dawid KruiperNorthern CapeANC42.2%
DikgatlongNorthern CapeANC42.2%
EMTHANJENINorthern CapeANC41.6%
GA-SEGONYANANorthern CapeANC43.3%
GAMAGARANorthern CapeDA41.2%
HANTAMNorthern CapeANC42.4%
KAI !GARIBNorthern CapeANC40.0%
KAMIESBERGNorthern CapeANC45.3%
KAREEBERGNorthern CapeANC43.2%
KAROO HOOGLANDNorthern CapeANC37.6%
KGATELOPELENorthern CapeANC35.8%
KHâI-MANorthern CapeANC45.9%
MagarengNorthern CapeANC39.3%
NAMA KHOINorthern CapeANC33.4%
PhokwaneNorthern CapeANC44.4%
RICHTERSVELDNorthern CapeANC49.3%
SIYANCUMANorthern CapeANC34.6%
SIYATHEMBANorthern CapeANC39.6%
Sol PlaatjeNorthern CapeANC37.5%
THEMBELIHLENorthern CapeANC46.6%
TSANTSABANENorthern CapeRise Tsantsabane Communities44.0%
UBUNTUNorthern CapeANC49.2%
Beaufort WestWestern CapeDA30.5%
BitouWestern CapeDA37.6%
Breede ValleyWestern CapeDA47.6%
Cape AgulhasWestern CapeDA45.6%
CederbergWestern CapeDA31.4%
KannalandWestern CapeIndependent Civic Organisation of South Africa27.0%
KnysnaWestern CapeDA45.3%
LaingsburgWestern CapeActionSA26.3%
LangebergWestern CapeDA39.8%
MatzikamaWestern CapeDA41.9%
OudtshoornWestern CapeDA38.2%
Prince AlbertWestern CapePatriotic Alliance49.0%
Saldanha BayWestern CapeDA49.5%
SwellendamWestern CapeDA39.8%
TheewaterskloofWestern CapeDA39.8%
WitzenbergWestern CapeDA41.0%

Source: Electoral Commission of South Africa (IEC), 2026 Local Government Elections: detailed results by voting station, one file per province. Source released . Downloaded . Checked on SA Data Hub .

How these numbers were counted

SA Data Hub downloaded the Electoral Commission of South Africa (IEC)'s detailed results for each province from results.elections.org.za and added them up per municipality with a script that is published with the site's code. The files give each party's valid votes at every voting station, with the registered voters and spoilt ballots for that station.

  • Turnout is votes cast on the PR ballot (valid plus spoilt) as a share of registered voters at the voting stations in the files. The IEC also publishes its own turnout count; the two can differ slightly.
  • Ward wins are counted from the ward ballot: the candidate with the most valid votes in a ward. Tied wards are listed and not given to any party.
  • The files give every independent candidate the same party name, INDEPENDENT, so votes for two independents in one ward are merged. Wards where that label comes first are counted as won by independents, not as one party.
  • PR seats and council sizes are not in these files, so seat totals are not shown.
  • The DC 40% ballot elects the district council and is only cast in local municipalities, not metros.
  • Results are as the IEC generated them between 21:35 on 6 November 2026 and 12:31 on 7 November 2026. They were not checked against final declared results.

Spot a figure that does not match the IEC? Corrections are listed on the updates page.