City of Johannesburg

Get the app
Ward 1: ANC 60.3%Ward 2: ANC 50.3%Ward 3: ANC 56.4%Ward 4: ANC 65.5%Ward 5: ANC 59.8%Ward 6: ANC 56.4%Ward 7: ANC 37.5%Ward 8: ANC 50.3%Ward 9: ALJAMA 49.0%Ward 10: ANC 32.1%Ward 11: ANC 40.6%Ward 12: ANC 53.7%Ward 13: ANC 46.6%Ward 14: ANC 51.0%Ward 15: ANC 54.5%Ward 16: ANC 45.3%Ward 17: PA 52.2%Ward 18: PA 64.6%Ward 19: ANC 53.1%Ward 20: ANC 52.4%Ward 21: ANC 42.7%Ward 22: ANC 48.9%Ward 23: DA 50.5%Ward 24: ANC 55.7%Ward 25: ANC 43.9%Ward 26: ANC 45.9%Ward 27: ANC 50.2%Ward 28: ANC 54.0%Ward 29: ANC 38.8%Ward 30: ANC 47.5%Ward 31: ANC 50.9%Ward 32: DA 48.2%Ward 33: ANC 55.5%Ward 34: ANC 43.1%Ward 35: ANC 57.3%Ward 36: ANC 50.4%Ward 37: ANC 46.5%Ward 38: ANC 38.7%Ward 39: ANC 56.5%Ward 40: ANC 40.0%Ward 41: ANC 60.4%Ward 42: ANC 63.0%Ward 43: ANC 61.2%Ward 44: ANC 58.1%Ward 45: ANC 51.4%Ward 46: ANC 48.8%Ward 47: ANC 44.1%Ward 48: ANC 49.5%Ward 49: ANC 56.9%Ward 50: ANC 54.0%Ward 51: ANC 52.4%Ward 52: ANC 54.8%Ward 53: ANC 59.0%Ward 54: DA 49.1%Ward 55: DA 40.7%Ward 56: DA 53.2%Ward 57: DA 41.9%Ward 58: ANC 49.4%Ward 59: ANC 48.4%Ward 60: ANC 35.8%Ward 61: IFP 33.3%Ward 62: ANC 50.5%Ward 63: ANC 52.9%Ward 64: ANC 51.2%Ward 65: IFP 60.4%Ward 66: DA 38.2%Ward 67: ANC 39.8%Ward 68: ANC 27.8%Ward 69: DA 31.1%Ward 70: DA 48.7%Ward 71: DA 38.7%Ward 72: DA 74.6%Ward 73: DA 62.7%Ward 74: DA 51.5%Ward 75: ANC 31.7%Ward 76: ANC 56.9%Ward 77: ANC 54.6%Ward 78: ANC 61.7%Ward 79: ANC 52.6%Ward 80: ANC 51.5%Ward 81: DA 30.5%Ward 82: DA 23.6%Ward 83: DA 63.0%Ward 84: DA 47.3%Ward 85: DA 59.7%Ward 86: DA 61.3%Ward 87: DA 71.1%Ward 88: DA 58.0%Ward 89: DA 69.0%Ward 90: DA 70.2%Ward 91: DA 44.3%Ward 92: ANC 40.0%Ward 93: DA 66.4%Ward 94: DA 73.2%Ward 95: ANC 66.6%Ward 96: ANC 36.1%Ward 97: DA 64.7%Ward 98: DA 65.7%Ward 99: DA 75.2%Ward 100: ANC 54.5%Ward 101: DA 64.1%Ward 102: DA 71.2%Ward 103: DA 80.7%Ward 104: DA 64.7%Ward 105: ANC 55.7%Ward 106: DA 65.1%Ward 107: ANC 54.3%Ward 108: ANC 59.0%Ward 109: DA 38.2%Ward 110: ANC 47.9%Ward 111: ANC 53.1%Ward 112: DA 33.7%Ward 113: ANC 57.2%Ward 114: ANC 44.0%Ward 115: DA 59.7%Ward 116: ANC 70.1%Ward 117: DA 71.1%Ward 118: DA 43.1%Ward 119: ANC 51.7%Ward 120: ANC 36.9%Ward 121: ANC 47.2%Ward 122: ANC 64.4%Ward 123: ANC 39.5%Ward 124: ANC 35.8%Ward 125: DA 31.5%Ward 126: DA 71.1%Ward 127: ANC 61.0%Ward 128: ANC 69.4%Ward 129: ANC 57.8%Ward 130: ANC 56.2%Ward 131: ANC 47.7%Ward 132: DA 60.0%Ward 133: ANC 62.7%Ward 134: DA 64.7%Ward 135: ANC 44.0%
WardsANC 87DA 43PA 2IFP 2ALJAMA 1darker = bigger win
Election yearDrag or tap a yearDrag the handle or click a year · ← → keys work too

No majority

ANC 91 of 270 seats · 136 for a majority

Most ward votes: ANC 34.0% · down 10.1 pts from 44.1% in 2016

Turnout42.1%
Voters on the roll2.22M

Ward ballot ? · 922 465 valid votes

Council seats · 270 ?

Wards · 135

About these figures

Official IEC figures: how we add them up

special votes 19 807 · All 867 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 867 voting districts here (935 699 of 2 220 710). The IEC publishes 42.6%.

The change beside the headline is the difference between the leading party's share here and its share in the 2016 election for the same municipality, both from the IEC's counts, with no votes re-allocated between boundaries.

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 26 Oct 2026, 15:59 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