Ward 21

Get the app
Voting district 54610129: ANC 34.0% (PR ballot)Voting district 54610286: ANC 36.1% (PR ballot)Voting district 54610499: ANC 33.3% (PR ballot)Voting district 54610602: ANC 67.1% (PR ballot)Zithuthukiseni Primary School (VD 54610129)Hlezikuhle Primary School (VD 54610286)Qubekani Primary School (VD 54610499)Mabhoko Village Tribal Office (VD 54610602)
Voting districtsANC 4darker = bigger win
Dots: voting stations
Election yearDrag or tap a yearDrag the handle or click a year · ← → keys work too

ANC 49.2%down 10.3 pts from 59.5% in 2021

African National Congress · won the ward ballot

Stations open 7am–9pm · results from 9pm · SourceSpecial votes 2 and 3 Nov, 8am–5pm.

This wardAll 4 voting districts in
Turnout53.1%
Voters on the roll5 211
South Africa · Counting22 490 of 23 696 voting districts in (94.9%)
checked Latest results

Elected ward councillor ?

Veli Petrus NkosiAfrican National Congress

Ward ballot ? · 2 732 valid votes

Hours off in Ward 21 ?

Reported in the ESP app

Power0hours offNo outages
Water0hours offNo outages
Internet0hours offNo outages

Voting districts · 4 ?

Candidates · 19

Source: IEC certified candidate list (PDF, 16 Sept 2026)

This ward in earlier elections ?

Boundaries changed after 2021: each ward's own results, never re-allocated.

ESP areas in this ward · 3 ?

About these figures

Notes on the IEC's figures for this page

Votes cast 2 767 · spoilt 35 · special votes 320 · All 4 voting districts in (the IEC's voting-district results so far, out of its list of voting districts for this election)

PR ballot figures for this ward are the sum of the IEC's results for its 4 voting districts; the IEC publishes the ward ballot per ward and the PR ballot per voting district.

Turnout is calculated as PR ballots cast ÷ registered voters, from the IEC's results for the 4 voting districts here (2 765 of 5 211). The IEC publishes 53.1%.

The change beside the headline is the difference between the leading party's share here and its share in the 2021 election for the same ward (the ward that covered the same area then), both from the IEC's counts, with no votes re-allocated between boundaries.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Note: voting district 54610129: party 445: the IEC's cross-ballot total 105 differs from its ward + PR + DC 40% votes (322); we show each ballot's own votes.

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

Note: voting district 54610129: party 1748: the IEC's cross-ballot total 33 differs from its ward + PR + DC 40% votes (101); we show each ballot's own votes.

Note: voting district 54610129: party 1619: the IEC's cross-ballot total 17 differs from its ward + PR + DC 40% votes (61); we show each ballot's own votes.

Note: voting district 54610129: party 945: the IEC's cross-ballot total 31 differs from its ward + PR + DC 40% votes (82); we show each ballot's own votes.

Note: voting district 54610129: party 1511: the IEC's cross-ballot total 24 differs from its ward + PR + DC 40% votes (69); we show each ballot's own votes.

Note: voting district 54610129: party 4: the IEC's cross-ballot total 17 differs from its ward + PR + DC 40% votes (58); we show each ballot's own votes.

Note: voting district 54610129: party 2058: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (16); we show each ballot's own votes.

Note: voting district 54610129: party 1863: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (8); we show each ballot's own votes.

Note: voting district 54610129: party 29: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.

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

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

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

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

Note: voting district 54610129: party 450: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.

Note: voting district 54610129: party 3: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.

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

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

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

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

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

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

Note: voting district 54610286: party 945: the IEC's cross-ballot total 67 differs from its ward + PR + DC 40% votes (201); we show each ballot's own votes.

Note: voting district 54610286: party 445: the IEC's cross-ballot total 33 differs from its ward + PR + DC 40% votes (117); we show each ballot's own votes.

Note: voting district 54610286: party 1863: the IEC's cross-ballot total 14 differs from its ward + PR + DC 40% votes (42); we show each ballot's own votes.

Note: voting district 54610286: party 1748: the IEC's cross-ballot total 17 differs from its ward + PR + DC 40% votes (48); we show each ballot's own votes.

Note: voting district 54610286: party 1511: the IEC's cross-ballot total 15 differs from its ward + PR + DC 40% votes (46); we show each ballot's own votes.

Note: voting district 54610286: party 4: the IEC's cross-ballot total 8 differs from its ward + PR + DC 40% votes (26); we show each ballot's own votes.

Note: voting district 54610286: party 1909: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (14); we show each ballot's own votes.

Note: voting district 54610286: party 1619: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (15); we show each ballot's own votes.

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

Note: voting district 54610286: party 29: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.

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

Note: voting district 54610286: party 2058: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.

Note: voting district 54610286: party 1004: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.

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

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

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

Note: voting district 54610286: party 2053: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.

Note: voting district 54610286: party 1318: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.

Note: voting district 54610286: party 957: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.

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

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

Note: voting district 54610499: party 445: the IEC's cross-ballot total 88 differs from its ward + PR + DC 40% votes (291); we show each ballot's own votes.

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

Note: voting district 54610499: party 1748: the IEC's cross-ballot total 74 differs from its ward + PR + DC 40% votes (218); we show each ballot's own votes.

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

Note: voting district 54610499: party 945: the IEC's cross-ballot total 41 differs from its ward + PR + DC 40% votes (125); we show each ballot's own votes.

Note: voting district 54610499: party 2058: the IEC's cross-ballot total 31 differs from its ward + PR + DC 40% votes (104); we show each ballot's own votes.

Note: voting district 54610499: party 1619: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (38); we show each ballot's own votes.

Note: voting district 54610499: party 1511: the IEC's cross-ballot total 27 differs from its ward + PR + DC 40% votes (71); we show each ballot's own votes.

Note: voting district 54610499: party 1863: the IEC's cross-ballot total 8 differs from its ward + PR + DC 40% votes (24); we show each ballot's own votes.

Note: voting district 54610499: party 1909: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (17); we show each ballot's own votes.

Note: voting district 54610499: party 29: the IEC's cross-ballot total 3 differs from its ward + PR + DC 40% votes (9); we show each ballot's own votes.

Note: voting district 54610499: party 1075: the IEC's cross-ballot total 8 differs from its ward + PR + DC 40% votes (17); we show each ballot's own votes.

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

Note: voting district 54610499: party 450: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.

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

Note: voting district 54610499: party 957: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (3); we show each ballot's own votes.

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

Note: voting district 54610499: party 932: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.

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

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

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

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

Note: voting district 54610602: party 945: the IEC's cross-ballot total 51 differs from its ward + PR + DC 40% votes (127); we show each ballot's own votes.

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

Note: voting district 54610602: party 1511: the IEC's cross-ballot total 48 differs from its ward + PR + DC 40% votes (112); we show each ballot's own votes.

Note: voting district 54610602: party 1748: the IEC's cross-ballot total 30 differs from its ward + PR + DC 40% votes (79); we show each ballot's own votes.

Note: voting district 54610602: party 4: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (21); we show each ballot's own votes.

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

Note: voting district 54610602: party 445: the IEC's cross-ballot total 5 differs from its ward + PR + DC 40% votes (14); we show each ballot's own votes.

Note: voting district 54610602: party 1075: the IEC's cross-ballot total 9 differs from its ward + PR + DC 40% votes (21); we show each ballot's own votes.

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

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

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

Note: voting district 54610602: party 450: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (5); we show each ballot's own votes.

Note: voting district 54610602: party 957: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.

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

Note: voting district 54610602: party 1318: the IEC's cross-ballot total 2 differs from its ward + PR + DC 40% votes (4); we show each ballot's own votes.

Note: voting district 54610602: party 3: the IEC's cross-ballot total 1 differs from its ward + PR + DC 40% votes (2); we show each ballot's own votes.

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

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

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

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

The DC 40% ? ballot is published per municipality: Thembisile Hani's DC 40% result.

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

IEC data last fetched 06 Nov 2026, 21:23 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