Counted.co.za

Your municipality · Tshwane

Pretoria

No party has a majority

108seats needed · 214 total

2021 results

2021

Council seats

ANC75 seats34.6% of votes
DA69 seats32.0% of votes
EFF23 seats10.7% of votes
Other47 seats21.9% of votes
ActionSA19 seats8.6% of votes
FF+17 seats7.9% of votes
Other3 seats2.3% of votes
ACDP2 seats0.9% of votes
AFRICAN INDEPENDENT CONGRESS1 seat0.6% of votes
COPE1 seat0.2% of votes
DEFENDERS OF THE PEOPLE1 seat0.5% of votes
PAC1 seat0.2% of votes
PA1 seat0.5% of votes
REPUBLICAN CONFERENCE OF TSHWANE1 seat0.2% of votes
Explain SA CoalitionsWhy team up? And why is it tricky?

A coalition is two or more parties agreeing to govern together. Here’s how it works in a council.

An imaginary council · 10 seats · 6 for a majority

  1. Most seats ≠ a majority

    SA’s election system gives different parties a share of the seats. Sometimes none wins more than half. That’s a hung council.

    A is the biggest. Four still isn’t six.

  2. Make a deal. Vote together.

    Parties negotiate who leads and what to do. Councillors elect the mayor and vote on budgets. Partners stay separate parties, but agree to work together.

    Enough seats. Now agree on a plan.

    Who leads · What gets funded · How to settle disputes
  3. The deal has to hold

    Partners can disagree over policies, jobs or spending. A small party can tip the balance. If support breaks down, budgets and decisions can stall.

    6 / 10back the deal

    ↑ 6 needed. No seats to spare.

    What if Party C leaves?

    4 / 10still back the deal

    ↑ Still 6 needed. Now 2 short.

    C keeps its seats. A needs new support to pass a budget.

Why six? A council budget needs support from more than half of all councillors. Other votes can follow different rules. Losing a partner doesn’t automatically remove a mayor.

Vote breakdown

Combined ballot votes

AFRICAN NATIONAL CONGRESS
34.6%466 041 votes
DEMOCRATIC ALLIANCE
32.0%431 042 votes
ECONOMIC FREEDOM FIGHTERS
10.7%143 833 votes
Other: show remaining parties: hide remaining parties22.7%304 852 votes
ACTIONSA
8.6%116 214 votes
VRYHEIDSFRONT PLUS | FREEDOM FRONT PLUS
7.9%105 964 votes
OTHER
2.3%30 986 votes
AFRICAN CHRISTIAN DEMOCRATIC PARTY
0.9%12 375 votes
INDEPENDENTS
0.7%9 623 votes
AFRICAN INDEPENDENT CONGRESS
0.6%8 023 votes
DEFENDERS OF THE PEOPLE
0.5%7 170 votes
PATRIOTIC ALLIANCE
0.5%6 744 votes
CONGRESS OF THE PEOPLE
0.2%2 597 votes
PAN AFRICANIST CONGRESS OF AZANIA
0.2%2 587 votes
REPUBLICAN CONFERENCE OF TSHWANE
0.2%2 569 votes

How the vote changed

Other

Swipe to see history

2021Vote %vs 2016
ANC34.6%
DA32.0%
EFF10.7%
ActionSA8.6%
FF+7.9%
Other6.1%
History data & sources

Ward + municipal PR votes. Connecting bands show the same party’s share or seats between elections, not individual voters moving between parties. Select a year to inspect its values; use the year selector in the results section to explore its places.

The chart names the five largest parties across these elections. The vote list also names parties gaining at least 2 percentage points since the previous election; remaining votes are combined under Other. Other’s change compares the same group of parties in both elections. Missing values remain unavailable.

  • All points use the same ballot basis. Ballot totals are not counts of individual voters.
  • Missing or grouped party rows remain gaps unless a complete, ungrouped list establishes zero votes.
  • Municipal boundaries can change between elections. Published area results are not boundary-adjusted.
All parties & exact values

Council government

Who governed after 2021

ACDP + ActionSA + COPE + DA + FF+ + IFP13 Feb 2023
ATM + COPE10 Mar 2023
ACDP + ActionSA + DA + FF+ + IFP26 Sept 2024
ActionSA + ANC + ATM + EFF + GOODFeb 2026
Administrations & sources

MISTRA records the administrations that governed after the 2021 election, through 28 February 2026. The latest recorded administration is shown below, followed by its predecessors. Party roles and officeholders are recorded at formation; later changes may appear in the notes.

ActionSAANCATMEFFGOOD

Members at formation · majority coalition · 09 Oct 2024 · recorded active at source cutoff

Inaugural mayor: N. Moya (ActionSA)

4 recorded administrations · 2021–February 2026
  1. ActionSA + ANC + ATM + EFF + GOOD

    09 Oct 2024 → Active at cutoff · 28 Feb 2026

    Members at formation. Inaugural mayor: N. Moya.

  2. ACDP + ActionSA + DA + FF+ + IFP

    28 Mar 2023 → 26 Sept 2024 · MONC

    Members at formation. Inaugural mayor: C. Brink.

  3. ATM + COPE

    28 Feb 2023 → 10 Mar 2023 · Vacancy

    Members at formation. Outside support: ANC + EFF. Inaugural mayor: M. Makwarela.

    M. Makwarela left the speakership to take the mayoralty, so the speakership is recorded as Vacant. This administration lasted ten days, too short to observe the PA, AIC and RCoT, which are coded Unknown.

  4. ACDP + ActionSA + COPE + DA + FF+ + IFP

    22 Nov 2021 → 13 Feb 2023 · Vacancy

    Members at formation. Inaugural mayor: R. Williams.

About the government history · MISTRA, 2026 edition v1.0

Original coalition coding: CC BY 4.0. IEC seat figures and municipal identifiers retain their original terms. Dates and party labels have been normalised. Counted clarifications are labelled and sourced; original wording and source issues are retained in the data.

Go closer

Browse wards

Wards in Tshwane

107 wards

What is a ward?

One ward elects one councillor to the municipal council.

A ward

A part of a local or metro municipality. Its councillor represents residents on that council.

One seat

The ward candidate with the most votes wins, even with less than half the votes.

Winning a ward does not mean winning control of the whole council. The council also includes PR councillors.

IEC guide to council seats
Ward 1
DA64.0%Leading candidate: LEON PIETER KRUYSHAAR
FF+21.1%
Lead: 6 928 votes
Ward 2
DA61.1%Leading candidate: YOLANDA DUVENAGE
FF+20.3%
Lead: 6 493 votes
Ward 3
ANC30.2%Leading candidate: MALESELA PHOHLO JOHN RAKABE
DA22.9%
Lead: 750 votes
Ward 4
ANC30.9%Leading candidate: PETRUS MALOPE
ActionSA28.6%
Lead: 353 votes
Ward 5
DA60.7%Leading candidate: ALBERTUS MARTINUS VAN NIEKERK
FF+21.5%
Lead: 7 131 votes
Ward 6
ANC62.2%Leading candidate: MASHIBA ISAAC MADONSELA
EFF13.1%
Lead: 5 575 votes
Ward 7
ANC45.4%Leading candidate: MOLATELO SAMUEL MASHOLA
EFF18.0%
Lead: 3 817 votes
Ward 8
ANC64.4%Leading candidate: ALFRED BOAS MATJEKE
EFF13.5%
Lead: 5 098 votes
Ward 9
ANC68.9%Leading candidate: PATRICIA LERATO MACHAVA
EFF15.7%
Lead: 4 905 votes
Ward 10
ANC51.7%Leading candidate: THABANG MABITSE MASEMOLA
EFF27.5%
Lead: 2 035 votes
Ward 11
ANC67.8%Leading candidate: FIKI ZOPHONIA MASHIGO
EFF14.2%
Lead: 5 331 votes
Ward 12
ANC60.3%Leading candidate: DONALD KHOTSO TSELA
EFF14.5%
Lead: 3 937 votes
Ward 13
ANC64.1%Leading candidate: NOMFUTSHANE SONIA MABOLAWA
EFF16.2%
Lead: 5 435 votes
Ward 14
ANC60.6%Leading candidate: LESIBANA HANS MOTHOA
INDEPENDENTS14.4%
Lead: 4 556 votes
Ward 15
ANC63.7%Leading candidate: JOEL KGOMOTSO MASILELA
EFF16.3%
Lead: 5 763 votes
Ward 16
ANC63.1%Leading candidate: MMINA-TAU SEABELO MARISHANE
EFF14.4%
Lead: 6 052 votes
Ward 17
ANC60.8%Leading candidate: SYLVIA PAULINA LELAKA
EFF16.3%
Lead: 4 910 votes
Ward 18
ANC65.3%Leading candidate: VUSI ISAAC MASEMOLA
EFF13.1%
Lead: 6 490 votes
Ward 19
ANC69.8%Leading candidate: MACALENE STANLEY MAZIBUKO
EFF12.6%
Lead: 6 179 votes
Ward 20
ANC51.5%Leading candidate: NEO TIRAGALO MOCUMI
EFF18.9%
Lead: 3 539 votes
Ward 21
ANC51.5%Leading candidate: ELLEN PHUMZILE MBOKANE
EFF13.7%
Lead: 4 089 votes
Ward 22
ANC56.9%Leading candidate: MAMMA CATHRINE MABASWA
EFF16.5%
Lead: 4 301 votes
Ward 23
ANC69.2%Leading candidate: DIAMOND HENDRICK MASHAO
EFF11.7%
Lead: 5 668 votes
Ward 24
ANC75.4%Leading candidate: CHRISTOPHER SIKHUMBUZO MASIA
EFF10.7%
Lead: 6 787 votes
Ward 25
ANC65.7%Leading candidate: PHINDILE PHINAH CHIOTA
EFF14.9%
Lead: 4 674 votes
Ward 26
ANC63.3%Leading candidate: THULANG JOSEPH SHUME
EFF17.5%
Lead: 4 374 votes
Ward 27
ANC56.1%Leading candidate: BONGANI MCDONALD MASINA
EFF12.1%
Lead: 4 260 votes
Ward 28
ANC58.2%Leading candidate: NOMVULA JOYCE SEELANE
EFF18.1%
Lead: 3 680 votes
Ward 29
ANC58.3%Leading candidate: MOSES THABO MATHIBEDI
EFF24.6%
Lead: 3 775 votes
Ward 30
ANC56.1%Leading candidate: VIOLET PHALWANE
EFF23.6%
Lead: 4 131 votes
Ward 31
ANC49.7%Leading candidate: TSHEPO FLOYD KGATLE
EFF17.4%
Lead: 3 473 votes
Ward 32
ANC54.5%Leading candidate: FLOYD MAKETE THEMA
EFF19.7%
Lead: 4 263 votes
Ward 33
ANC54.9%Leading candidate: LERATO MARCIA APHANE
EFF16.7%
Lead: 4 376 votes
Ward 34
ANC61.4%Leading candidate: ROSE SISI SETHOLE
EFF15.1%
Lead: 4 490 votes
Ward 35
ANC57.1%Leading candidate: TEBOGO PATRICK KHOLOFELO MASHAPA
EFF16.2%
Lead: 4 146 votes
Ward 36
ANC51.2%Leading candidate: VERONICA PALESA MODISE
EFF18.8%
Lead: 3 262 votes
Ward 37
ANC61.1%Leading candidate: ZACHARIA SEKETE NTOHLA
EFF20.9%
Lead: 4 206 votes
Ward 38
ANC41.6%Leading candidate: SAUL MOKUBE RATAU
EFF20.8%
Lead: 1 215 votes
Ward 39
ANC66.7%Leading candidate: JAN JAPANE BALOYI
EFF18.9%
Lead: 4 397 votes
Ward 40
ANC64.5%Leading candidate: MALOKE JOSEPH MAKOLA
EFF13.7%
Lead: 4 674 votes
Ward 41
DA60.3%Leading candidate: BAREND WILLIAM CHAPMAN
FF+13.8%
Lead: 8 253 votes
Ward 42
DA72.0%Leading candidate: PHILLIP ANDRIES NEL
FF+12.3%
Lead: 10 398 votes
Ward 43
DA32.4%Leading candidate: BENJAMIN WILLIAM LAWRENCE
PA30.0%
Lead: 307 votes
Ward 44
DA71.0%Leading candidate: CHRISTIAAN MAURITZ VAN DEN HEEVER
FF+16.1%
Lead: 9 624 votes
Ward 45
DA66.9%Leading candidate: ELIZABETH MARIA BASSON
FF+17.8%
Lead: 9 026 votes
Ward 46
DA71.9%Leading candidate: PIETER WILLEM VAN HEERDEN
FF+14.9%
Lead: 10 124 votes
Ward 47
DA69.0%Leading candidate: DARYL JOHNSTON
FF+18.9%
Lead: 9 454 votes
Ward 48
DA52.0%Leading candidate: THEMBAMANDLA ELIJAH FOSI
ActionSA18.8%
Lead: 5 887 votes
Ward 49
ANC54.3%Leading candidate: MATOME ADAM MASHAPA
EFF14.9%
Lead: 4 412 votes
Ward 50
DA67.5%Leading candidate: ALETTA SUSANNA BREYTENBACH
FF+20.0%
Lead: 8 922 votes
Ward 51
ANC48.4%Leading candidate: SARAH SALAMINA MOABELO
ActionSA18.6%
Lead: 2 651 votes
Ward 52
DA60.2%Leading candidate: FRANS JOHANNES SMITH
FF+27.5%
Lead: 6 624 votes
Ward 53
DA63.9%Leading candidate: WAYNE PETER HELFRICH
FF+19.6%
Lead: 6 015 votes
Ward 54
DA65.8%Leading candidate: ELMA JOHANNA NEL
FF+23.9%
Lead: 7 517 votes
Ward 55
DA41.0%Leading candidate: KWENA YVONNE DZUMBA
ANC20.3%
Lead: 3 380 votes
Ward 56
DA61.4%Leading candidate: JARAD FRIMMEL
ActionSA11.1%
Lead: 4 598 votes
Ward 57
DA58.6%Leading candidate: DAVID JAMES FARQUHARSON
FF+15.8%
Lead: 5 651 votes
Ward 58
ANC31.9%Leading candidate: CONRIDE NGOVENI
EFF24.5%
Lead: 514 votes
Ward 59
DA49.3%Leading candidate: SHAUN WILKINSON
ANC17.2%
Lead: 2 380 votes
Ward 60
ANC30.2%Leading candidate: MPATI ISAAC RAMPHILE
DA27.0%
Lead: 357 votes
Ward 61
ANC43.0%Leading candidate: NAEEM PATEL
ActionSA27.6%
Lead: 2 430 votes
Ward 62
ANC57.3%Leading candidate: ESTHER NONZINGO MASUKU
ActionSA20.9%
Lead: 3 834 votes
Ward 63
ANC59.4%Leading candidate: DUDUZILE ELSA MAJOLA
EFF18.0%
Lead: 4 236 votes
Ward 64
DA53.7%Leading candidate: CASPER NICOLAAS MC DONALD
ActionSA12.9%
Lead: 5 858 votes
Ward 65
DA67.5%Leading candidate: GERT PETRUS VISSER
FF+11.1%
Lead: 10 684 votes
Ward 66
DA75.9%Leading candidate: CATHARINA ELIZABETH STRYDOM
FF+13.1%
Lead: 11 240 votes
Ward 67
ANC65.0%Leading candidate: SIZWE PAULOS CLIFTON TSIANE
EFF11.7%
Lead: 5 005 votes
Ward 68
ANC68.0%Leading candidate: TSHILILO VICTOR RAMBAU
EFF12.7%
Lead: 5 573 votes
Ward 69
DA76.6%Leading candidate: CINDY BILLSON
FF+14.4%
Lead: 12 852 votes
Ward 70
DA61.9%Leading candidate: MARIKA ELIZABETH KRUGER MULLER
FF+14.1%
Lead: 8 751 votes
Ward 71
ANC63.1%Leading candidate: MMAKGOKO VERON PHASHA
EFF23.3%
Lead: 3 504 votes
Ward 72
ANC58.1%Leading candidate: ABBIOT MASOPO SEBOLA
EFF19.9%
Lead: 3 907 votes
Ward 73
ANC49.6%Leading candidate: MICHAEL NDLOVU
EFF14.2%
Lead: 4 296 votes
Ward 74
ANC58.4%Leading candidate: ZACHAREA SETIMO
EFF14.6%
Lead: 4 261 votes
Ward 75
ANC55.1%Leading candidate: NTHABISENG MAHLANGU
EFF16.4%
Lead: 4 269 votes
Ward 76
ANC65.0%Leading candidate: MAVIS ELIZABETH KEKANA
EFF11.2%
Lead: 5 171 votes
Ward 77
ANC38.9%Leading candidate: TEMBENI INNOCENT THABATHA
EFF21.9%
Lead: 2 939 votes
Ward 78
DA67.1%Leading candidate: PETER SUTTON
FF+12.3%
Lead: 7 889 votes
Ward 79
DA63.2%Leading candidate: JOHAN GERHARD VAN BUUREN
FF+19.4%
Lead: 8 417 votes
Ward 80
ANC38.0%Leading candidate: SEKOKOBALE FORTUNE MAMPURU
EFF34.1%
Lead: 267 votes
Ward 81
ANC39.7%Leading candidate: MPHO HANS LEWELE
EFF25.4%
Lead: 741 votes
Ward 82
DA77.6%Leading candidate: SIOBHAN MULLER
FF+10.6%
Lead: 10 626 votes
Ward 83
DA69.1%Leading candidate: CHRIS FRANCOIS BEKKER
FF+16.0%
Lead: 9 382 votes
Ward 84
DA65.5%Leading candidate: ROELOF PETRUS FOURIE
FF+21.0%
Lead: 8 692 votes
Ward 85
DA66.2%Leading candidate: JACQUELINE UYS
FF+13.0%
Lead: 10 007 votes
Ward 86
ANC59.2%Leading candidate: KHOLOFELO PATIENCE KGOPOTSO
EFF18.2%
Lead: 3 689 votes
Ward 87
DA50.6%Leading candidate: CHRISTIAAN FREDERICK PIENAAR
FF+20.6%
Lead: 4 399 votes
Ward 88
ANC64.1%Leading candidate: TSHEPANG SAGIOUS BOIKANYO
EFF16.4%
Lead: 5 277 votes
Ward 89
ANC65.4%Leading candidate: TSHEPO PATRICK MALEFANE
EFF19.1%
Lead: 4 647 votes
Ward 90
ANC60.3%Leading candidate: ENOS PAPIKI CHILOANE
EFF19.9%
Lead: 4 668 votes
Ward 91
DA56.0%Leading candidate: HENNING JOHANNES VILJOEN
FF+17.9%
Lead: 7 101 votes
Ward 92
DA33.6%Leading candidate: LEANNE JENNIFER DE JAGER
ANC25.6%
Lead: 639 votes
Ward 93
ANC59.8%Leading candidate: NATHANIEL RABASOTHO MASUPHA
EFF18.3%
Lead: 4 156 votes
Ward 94
ANC66.3%Leading candidate: MANAKEDI ELISA MLOTSHWA
EFF14.7%
Lead: 5 621 votes
Ward 95
ANC61.4%Leading candidate: WILLIAM NKHOLO KGOPA
EFF13.2%
Lead: 5 146 votes
Ward 96
DA50.5%Leading candidate: JOHANNES JACOBUS COETZEE
FF+20.0%
Lead: 4 603 votes
Ward 97
ANC66.8%Leading candidate: NKOATA ANANIAS MOKGALOTSI
EFF18.6%
Lead: 4 965 votes
Ward 98
DA40.3%Leading candidate: NOSIPHO MTAKATI
ANC16.8%
Lead: 3 678 votes
Ward 99
ANC56.0%Leading candidate: SILIAS MOTHUPI MAKENA
DA15.1%
Lead: 4 493 votes
Ward 100
DA39.1%Leading candidate: JOHANNES CHRISTOFFEL BEKKER
ANC28.4%
Lead: 1 372 votes
Ward 101
DA64.7%Leading candidate: MALCOLM IAN DE KLERK
FF+14.2%
Lead: 11 833 votes
Ward 102
ANC45.6%Leading candidate: VUSI EPHRAIM MABENA
DA22.4%
Lead: 2 953 votes
Ward 103
ANC66.2%Leading candidate: EUNICE DINEO MOLOI
EFF20.1%
Lead: 4 947 votes
Ward 104
ANC75.3%Leading candidate: OUPA PATRICK MATSHIANE
EFF13.7%
Lead: 7 191 votes
Ward 105
ANC41.1%Leading candidate: JAN TSELE MAHLANGU
DA27.1%
Lead: 1 909 votes
Ward 106
ANC59.6%Leading candidate: MOGAUWANE KENNETH MASHA
EFF19.4%
Lead: 3 410 votes
Ward 107
ANC55.8%Leading candidate: PHASUDI JEFFREY MASHEGO
EFF30.7%
Lead: 2 588 votes
Local, district or metro?

Local councils and district councils share responsibilities. Metros combine both.

Your town and nearby areas

Handles local services such as refuse collection and local roads, with responsibilities shared with the district.

Several local municipalities

Coordinates planning and shared services across its area, such as bulk water infrastructure. Functions vary by area.

One council for a large city

Combines local and district responsibilities. There is no separate district council above it.

A district municipality is a level of local government. A voting district is a small voting area; it has no council of its own.

CoGTA guide to local government
Sources & result details

IEC: 15 Jan 2022, 17:50 SAST · checked 05 Nov 2026, 15:38 SAST

Historical comparisons use published area results. Boundaries may change between elections. Vote shares use the ballot labelled on each chart; ballots are not individual voters.

Vote percentages beside council seats combine ward and municipal PR ballots. Seat counts include both ward and PR councillors.

Seat calculation & source

These are the ward and PR seats published by the IEC. The totals add up to all 214 council seats. This is the historical election allocation, not a record of government changes during the term. Any grouped “Other” seats remain grouped.

IEC result time: 15 Jan 2022, 17:50 SAST · Source figures ↗

Ward vs PR ballots

Ward: choose a person. PR: choose a party.

Ward ballot

The candidate with the most votes in the whole ward wins one seat. They do not need more than 50%.

Municipal PR ballot

PR means proportional representation. Party-list seats balance the council’s overall party representation.

Two ballots work together

Party ward votes and municipal PR votes both count towards the party’s overall seat allocation.

Outside metros, voters also have a separate district PR ballot. An independent can stand in a ward but not on a party PR list.

IEC guide to council seats
IEC source figures

The council results cover all of Tshwane. Ward results include areas outside Pretoria.

This page uses the Stats SA statistical main-place boundary labelled 2016. It overlaps 49 of the 2026 wards; the everyday town boundary may differ.

Town-to-ward mappings are available for 2026 only. The historical wards above belong to the whole municipality in 2021.

Positive-area intersections of the 2016 Stats SA main-place polygon and the MDB 2026 ward polygons. Full-ward figures include votes outside the place; votes are never allocated by overlap area. Small boundary alignment differences were excluded using a 10-metre precision tolerance, a combined foreign area below 0.01% of the place, and agreement with the source municipality.

Give something back

Support independent journalism and accountability.

I’m Jacques, the person behind Counted. I don’t need personal financial support, but if you’ve found this project useful and would like to give something back, please consider donating to one of these South African non-profits working for transparency, accountability and democracy.

amaBhungane

Independent investigative journalism exposing corruption and abuses of power, with reporting that’s free for everyone to read.

Donate to amaBhungane

Corruption Watch

Receives reports of corruption from the public, investigates selected cases and campaigns for accountability.

Donate to Corruption Watch

OUTA

The Organisation Undoing Tax Abuse investigates and challenges corruption, misuse of public money and government maladministration.

Donate to OUTA

Share results