Western Cape

Get the app
Matzikama: ANC 50.6% (PR ballot)Cederberg: ANC 47.9% (PR ballot)Beaufort West: ANC 61.1% (PR ballot)Bergrivier: DA 52.2% (PR ballot)Saldanha Bay: ANC 50.3% (PR ballot)Swartland: DA 58.1% (PR ballot)Witzenberg: ANC 43.1% (PR ballot)Drakenstein: DA 46.7% (PR ballot)Breede Valley: ANC 45.6% (PR ballot)Oudtshoorn: DA 46.4% (PR ballot)Kannaland: DA 48.5% (PR ballot)City of Cape Town: DA 53.3% (PR ballot)Breede River/Winelands: DA 46.1% (PR ballot)Swellendam: DA 49.1% (PR ballot)Plettenberg Bay: ANC 61.9% (PR ballot)Langeberg: DA 52.1% (PR ballot)Stellenbosch: DA 43.8% (PR ballot)Knysna: DA 43.6% (PR ballot)George: DA 48.7% (PR ballot)Mossel Bay: DA 58.6% (PR ballot)Theewaterskloof: DA 48.3% (PR ballot)Overstrand: DA 67.2% (PR ballot)Cape Agulhas: DA 59.3% (PR ballot)
MunicipalitiesDA 16ANC 7darker = bigger win
Areas coloured by the PR ballot: the IEC doesn't publish the DC 40% ballot per area · Blank areas: district management areas, which had no wards; the MDB has published no 2000 municipal boundaries to draw them
Election yearDrag or tap a yearDrag the handle or click a year · ← → keys work too

DA 48.4%

Most DC 40% votes

Vote breakdown · DC 40% ballot
  • DA 48.4%
  • ANC 43.3%
  • ACDP 2.2%
  • Others 6.1%
Turnout57.5%
Voters on the roll1.96M

DC 40% ballot ? · 405 286 valid votes

Municipalities · 30

District councils · 5

About these figures

Notes on the IEC's figures for this page

special votes 0 · All 1 290 voting districts in · the IEC marks the results complete

In local elections the IEC adds votes across the ward, PR and district ballots, so we show valid votes per ballot instead of one "votes cast" total.

Turnout is calculated as PR ballots cast ÷ registered voters, from the IEC's results for the 1 290 voting districts here (1 124 478 of 1 955 454). The IEC publishes no turnout figure here.

Note: party 52: the IEC's cross-ballot total 1328404 differs from its ward + PR + DC 40% votes (1324441); we show each ballot's own votes.

Note: party 7: the IEC's cross-ballot total 1058041 differs from its ward + PR + DC 40% votes (1054387); we show each ballot's own votes.

Note: party 18: the IEC's cross-ballot total 75869 differs from its ward + PR + DC 40% votes (75745); we show each ballot's own votes.

Note: party 0: the IEC's cross-ballot total 24405 differs from its ward + PR + DC 40% votes (24473); we show each ballot's own votes.

Note: party 6: the IEC's cross-ballot total 32406 differs from its ward + PR + DC 40% votes (32376); we show each ballot's own votes.

Note: party 159: the IEC's cross-ballot total 4187 differs from its ward + PR + DC 40% votes (4159); we show each ballot's own votes.

Note: party 83: the IEC's cross-ballot total 1857 differs from its ward + PR + DC 40% votes (1826); we show each ballot's own votes.

Note: IEC TotalValidVotes 2623027 differs from the sum of party rows 2622959 by -68; we show per-ballot sums of party rows and do not publish the cross-ballot total.

Note: City of Cape Town: party 0: the IEC's cross-ballot total 14395 differs from its ward + PR + DC 40% votes (14401); we show each ballot's own votes.

Note: City of Cape Town: IEC TotalValidVotes 1416328 differs from the sum of party rows 1416322 by -6; we show per-ballot sums of party rows and do not publish the cross-ballot total.

Note: Kannaland: party 0: the IEC's cross-ballot total 188 differs from its ward + PR + DC 40% votes (250); we show each ballot's own votes.

Note: Kannaland: IEC TotalValidVotes 20623 differs from the sum of party rows 20561 by -62; we show per-ballot sums of party rows and do not publish the cross-ballot total.

Note: West Coast DMA: party 7: the IEC's cross-ballot total 1079 differs from its ward + PR + DC 40% votes (535); we show each ballot's own votes.

Note: West Coast DMA: party 52: the IEC's cross-ballot total 1286 differs from its ward + PR + DC 40% votes (643); we show each ballot's own votes.

Note: Brede River DMA: party 18: the IEC's cross-ballot total 103 differs from its ward + PR + DC 40% votes (48); we show each ballot's own votes.

Note: Brede River DMA: party 7: the IEC's cross-ballot total 1184 differs from its ward + PR + DC 40% votes (575); we show each ballot's own votes.

Note: Brede River DMA: party 52: the IEC's cross-ballot total 1404 differs from its ward + PR + DC 40% votes (702); we show each ballot's own votes.

Note: Brede River DMA: party 83: the IEC's cross-ballot total 51 differs from its ward + PR + DC 40% votes (20); we show each ballot's own votes.

Note: Overberg DMA: party 7: the IEC's cross-ballot total 32 differs from its ward + PR + DC 40% votes (15); we show each ballot's own votes.

Note: Overberg DMA: party 52: the IEC's cross-ballot total 59 differs from its ward + PR + DC 40% votes (29); we show each ballot's own votes.

Note: South Cape DMA: party 18: the IEC's cross-ballot total 127 differs from its ward + PR + DC 40% votes (58); we show each ballot's own votes.

Note: South Cape DMA: party 7: the IEC's cross-ballot total 2927 differs from its ward + PR + DC 40% votes (1458); we show each ballot's own votes.

Note: South Cape DMA: party 159: the IEC's cross-ballot total 54 differs from its ward + PR + DC 40% votes (26); we show each ballot's own votes.

Note: South Cape DMA: party 52: the IEC's cross-ballot total 3740 differs from its ward + PR + DC 40% votes (1865); we show each ballot's own votes.

Note: South Cape DMA: party 6: the IEC's cross-ballot total 55 differs from its ward + PR + DC 40% votes (25); we show each ballot's own votes.

Note: Central Karoo DMA: party 7: the IEC's cross-ballot total 2027 differs from its ward + PR + DC 40% votes (1012); we show each ballot's own votes.

Note: Central Karoo DMA: party 52: the IEC's cross-ballot total 1430 differs from its ward + PR + DC 40% votes (717); we show each ballot's own votes.

Percentages are calculated from the IEC's vote counts. Official results: results.elections.org.za.

Map boundaries: Municipal Demarcation Board (MDB) and the IEC.

IEC data last fetched 27 Oct 2026, 22:33 SAST.

Get the ESP App

Ask people in your area how long the queue is.

Outages, alerts and community updates for your area.

  1. 1Install the app
  2. 2Save your area to get alerts
Download on the App StoreGet it on Google Play
Already have the app? Open it