Coalition Chaos · Choose your arena

Choose your council

New council. New chaos. Where will you make a deal?

Search anywhere in South Africa. Towns and addresses take you straight to their council.

Buffalo CityEastern Cape · MetroPlay Cape TownWestern Cape · MetroPlay EkurhuleniGauteng · MetroPlay eThekwiniKwaZulu-Natal · MetroPlay JohannesburgGauteng · Metro · Playing herePlay MangaungFree State · MetroPlay Nelson Mandela BayEastern Cape · MetroPlay TshwaneGauteng · MetroPlay !KHEISNorthern CapePlay AbaQulusiKwaZulu-NatalPlay Alfred DumaKwaZulu-NatalPlay AmahlathiEastern CapePlay Ba-PhalaborwaLimpopoPlay Beaufort WestWestern CapePlay Bela-BelaLimpopoPlay BergrivierWestern CapePlay Big Five HlabisaKwaZulu-NatalPlay BitouWestern CapePlay BloubergLimpopoPlay Blue Crane RouteEastern CapePlay Breede ValleyWestern CapePlay BushbuckridgeMpumalangaPlay Cape AgulhasWestern CapePlay CederbergWestern CapePlay Chief Albert LuthuliMpumalangaPlay City of MbombelaMpumalangaPlay Collins ChabaneLimpopoPlay DannhauserKwaZulu-NatalPlay Dawid KruiperNorthern CapePlay DihlabengFree StatePlay DikgatlongNorthern CapePlay DipalesengMpumalangaPlay DitsobotlaNorth WestPlay Dr JS MorokaMpumalangaPlay Dr Pixley Ka Isaka SemeMpumalangaPlay Dr. A.B. XumaEastern CapePlay Dr. Beyers NaudeEastern CapePlay Dr. Nkosazana Dlamini ZumaKwaZulu-NatalPlay DrakensteinWestern CapePlay eDumbeKwaZulu-NatalPlay Elias MotsoalediLimpopoPlay ElundiniEastern CapePlay eMadlangeniKwaZulu-NatalPlay EmakhazeniMpumalangaPlay EmalahleniEastern CapePlay EmalahleniMpumalangaPlay EmfuleniGautengPlay EMTHANJENINorthern CapePlay eNdumeniKwaZulu-NatalPlay Enoch MgijimaEastern CapePlay Ephraim MogaleLimpopoPlay Fetakgomo TubatseLimpopoPlay GA-SEGONYANANorthern CapePlay GAMAGARANorthern CapePlay GeorgeWestern CapePlay Govan MbekiMpumalangaPlay Great KeiEastern CapePlay Greater GiyaniLimpopoPlay Greater KokstadKwaZulu-NatalPlay Greater LetabaLimpopoPlay Greater TaungNorth WestPlay Greater TzaneenLimpopoPlay HantamNorthern CapePlay HessequaWestern CapePlay iMpendleKwaZulu-NatalPlay iNkosi LangalibaleleKwaZulu-NatalPlay Inkosi uMtubatubaKwaZulu-NatalPlay Intsika YethuEastern CapePlay Inxuba YethembaEastern CapePlay JB MarksNorth WestPlay Joe MorolongNorthern CapePlay Johannes Phumani PungulaKwaZulu-NatalPlay JoziniKwaZulu-NatalPlay Kagisano-MolopoNorth WestPlay KAI !GARIBNorthern CapePlay KAMIESBERGNorthern CapePlay KannalandWestern CapePlay KAREEBERGNorthern CapePlay KAROO HOOGLANDNorthern CapePlay KGATELOPELENorthern CapePlay KgetlengrivierNorth WestPlay KHâI-MANorthern CapePlay King Sabata DalindyeboEastern CapePlay KnysnaWestern CapePlay KopanongFree StatePlay Kou-KammaEastern CapePlay KougaEastern CapePlay Kumkani MhlontloEastern CapePlay KwaDukuzaKwaZulu-NatalPlay LaingsburgWestern CapePlay LangebergWestern CapePlay LekwaMpumalangaPlay Lekwa-TeemaneNorth WestPlay Lepele-NkumpiLimpopoPlay LephalaleLimpopoPlay LesediGautengPlay LetsemengFree StatePlay MadibengNorth WestPlay MafikengNorth WestPlay MafubeFree StatePlay MagarengNorthern CapePlay MakanaEastern CapePlay MakhadoLimpopoPlay MakhuduthamagaLimpopoPlay Maluti a PhofungFree StatePlay MamusaNorth WestPlay MandeniKwaZulu-NatalPlay MantsopaFree StatePlay MaphumuloKwaZulu-NatalPlay Maquassi HillsNorth WestPlay MarulengLimpopoPlay MasilonyanaFree StatePlay MatatieleEastern CapePlay MatjhabengFree StatePlay MatlosanaNorth WestPlay MatzikamaWestern CapePlay MbhasheEastern CapePlay Merafong CityGautengPlay MetsimaholoFree StatePlay MidvaalGautengPlay MkhambathiniKwaZulu-NatalPlay MkhondoMpumalangaPlay MnqumaEastern CapePlay Modimolle-MookgophongLimpopoPlay MogalakwenaLimpopoPlay Mogale CityGautengPlay MohokareFree StatePlay MolemoleLimpopoPlay MoqhakaFree StatePlay MoreteleNorth WestPlay Moses KotaneNorth WestPlay Mossel BayWestern CapePlay MpofanaKwaZulu-NatalPlay MsukaligwaMpumalangaPlay MsunduziKwaZulu-NatalPlay MthonjaneniKwaZulu-NatalPlay MusinaLimpopoPlay NalaFree StatePlay NalediNorth WestPlay NAMA KHOINorthern CapePlay NdlambeEastern CapePlay NdwedweKwaZulu-NatalPlay NewcastleKwaZulu-NatalPlay NgqushwaEastern CapePlay Ngquza HillEastern CapePlay NgwatheFree StatePlay NkandlaKwaZulu-NatalPlay NketoanaFree StatePlay NkomaziMpumalangaPlay NongomaKwaZulu-NatalPlay NqutuKwaZulu-NatalPlay NtabankuluEastern CapePlay NyandeniEastern CapePlay OkhahlambaKwaZulu-NatalPlay OudtshoornWestern CapePlay OverstrandWestern CapePlay PhokwaneNorthern CapePlay PhumelelaFree StatePlay PolokwaneLimpopoPlay Port St JohnsEastern CapePlay Prince AlbertWestern CapePlay Ramotshere MoiloaNorth WestPlay Rand West CityGautengPlay RatlouNorth WestPlay Ray NkonyeniKwaZulu-NatalPlay Raymond MhlabaEastern CapePlay RENOSTERBERGNorthern CapePlay RichmondKwaZulu-NatalPlay RICHTERSVELDNorthern CapePlay RustenburgNorth WestPlay SakhisizweEastern CapePlay Saldanha BayWestern CapePlay SenquEastern CapePlay SetsotoFree StatePlay SIYANCUMANorthern CapePlay SIYATHEMBANorthern CapePlay Sol PlaatjeNorthern CapePlay StellenboschWestern CapePlay Steve TshweteMpumalangaPlay Sundays River ValleyEastern CapePlay SwartlandWestern CapePlay SwellendamWestern CapePlay Thaba ChweuMpumalangaPlay ThabazimbiLimpopoPlay TheewaterskloofWestern CapePlay THEMBELIHLENorthern CapePlay Thembisile HaniMpumalangaPlay ThulamelaLimpopoPlay TokologoFree StatePlay TSANTSABANENorthern CapePlay TswaingNorth WestPlay TswelopeleFree StatePlay UBUNTUNorthern CapePlay UlundiKwaZulu-NatalPlay uMdoniKwaZulu-NatalPlay uMfoloziKwaZulu-NatalPlay uMhlabuyalinganaKwaZulu-NatalPlay uMhlathuzeKwaZulu-NatalPlay uMlalaziKwaZulu-NatalPlay uMngeniKwaZulu-NatalPlay uMshwathiKwaZulu-NatalPlay uMsingaKwaZulu-NatalPlay UMSOBOMVUNorthern CapePlay uMuziwabantuKwaZulu-NatalPlay uMvotiKwaZulu-NatalPlay uMzimkhuluKwaZulu-NatalPlay UmzimvubuEastern CapePlay uMzumbeKwaZulu-NatalPlay uPhongoloKwaZulu-NatalPlay Victor KhanyeMpumalangaPlay Walter SisuluEastern CapePlay Winnie Madikizela-MandelaEastern CapePlay WitzenbergWestern CapePlay
Fictional scenarioSatirical game
Your deal · estimate0 / 270 seats
136 to go136 for a majority
Order. Who’s still speaking to whom?

Who’s in?

Hypothetical deal · Estimated seats · Fictional scenario

Satire with sourced historical context. No affiliation or endorsement implied. Game context · Terms & liability limits · Report a concern

Fictional scenario

Beyond the game

Get involved in Johannesburg

Find my municipality

Follow the decisions. Raise a local priority. Your part in local politics can continue between elections.

About these local links

Notices and documents can cover past consultation periods. Check dates and submission instructions on the official page. After an election, confirm that a councillor directory covers the current term.

Official government directory. Ask for the Speaker’s office or public participation unit. Government directory ↗ · Link listed on 7 November 2026.

Municipal resource pages reviewed 7 November 2026. These links do not mean a consultation is currently open.

Madam Speaker
takes the floor.

“I’m Madam Speaker. Secretary bird. Keeper of the gavel. Please don’t make me use it.

Welcome to the bargaining table in Johannesburg. One mayoral chain, several competing plans. You bring the partners. I’ll put the kettle on.”

The honourable cast

  • Helen ZilleDA
  • Cyril RamaphosaANC
  • Herman MashabaActionSA
  • Julius MalemaEFF
  • Jacob ZumaMK
  • Velenkosini HlabisaIFP
  • Gayton McKenziePA
  • RISE MZANSI
  • Corné MulderFF+
  • ATM
  • Al Jama-ah
  • ACDP
  • AMM
  • SACP
  • AHC
  • AIC
  • APC
  • BOSA
  • ELFSA
  • PAC
  • PSMFC
  • UAT

Fictional scenario. Party cameos, not a full list of local candidates.

Rules, real politics & sources
99.2%99.2% reporting
Seat calculation & source

Based on combined ward and PR votes counted so far. Only reported ward wins and independent seats are fixed. Unfinished wards and candidate-list limits can change the allocation. This is a calculation using the current count, not a forecast of the final result.

We reserve the IEC’s reported independent ward seats, then divide the combined party votes by the remaining council seats, discard the fraction and add one. Whole quotas receive seats first, followed by the largest remainders. A tied remainder favours the party with more votes; an unresolved tie leaves the estimate unavailable.

A party keeps its reported ward seats. Where those exceed its proportional allocation, we recalculate the remaining seats for the other parties. We assume parties can fill their estimated seats. We do not predict unfinished ward contests, additional independent wins, unopposed-ward adjustments or candidate-list shortages. The remaining districts may vote differently.

Ward seats reported: 129 of 135. The IEC’s complete allocation replaces this estimate when its totals reconcile.

Method: Municipal Structures Act, Schedule 1, items 12, 13 and 16 ↗.

IEC result time: 07 Nov 2026, 17:06 SAST · Source figures ↗

Tap parties to reach 136 seats, then roll the dice for one fictional scenario. Every roll starts from your original deal. Previously drawn scenarios stay out of the deck until the applicable cards run out. Every party follows the same rules. A “key partner” is one whose departure would put your deal below the majority target. Plot twists do not change the real results or your selection.

A seat majority does not confirm a governing agreement. The game uses a fixed majority of all council seats; real council votes can involve different attendance and voting rules. The caricatures represent national party leaders, not local candidates.

Inspired by the kingmaker politics and shifting alliances documented in MISTRA’s Coalitions Barometer. In May 2023, Johannesburg elected Al Jama-ah’s Kabelo Gwamanda mayor with 139 votes: a small party can win a very big chair. City record ↗

Council government

Who has governed here

Last recordedActionSAAICAl Jama-ahANCEFFIFPPAAfter electionPending
ACDP + ActionSA + COPE + DA + FF+ + IFP14 Feb 2022
ACDP + ActionSA + COPE + DA + FF+ + IFP + PA30 Sept 2022
Al Jama-ah + ANC + COPE + EFF + GOOD + PA25 Oct 2022
ACDP + ActionSA + DA + FF+ + IFP26 Jan 2023
AIC + Al Jama-ah + ANC + ATM + COPE + EFF + GOOD + PA + PAC + UDM13 Aug 2024
ActionSA + AIC + Al Jama-ah + ANC + EFF + IFP + PAFeb 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.

ActionSAAICAl Jama-ahANCEFFIFPPA

Members at formation · majority coalition · 16 Aug 2024 · recorded active at source cutoff

Inaugural mayor: D. Morero (ANC)

Source notes: Speaker N. Mthembu was removed by a council vote in June 2025 and M. Arnolds of the AIC was elected in her place the following month. The council created the city's first deputy mayor post in January 2026. Masuku was elected to it on 26 February 2026.

The recorded partners in 2026

136 / 270 estimated seats

Enough seats for a hypothetical majority · 136 needed

Hypothetical total for the recorded members at formation. Excludes outside supporters. It does not establish a current agreement, government retention, or a takeover.

6 recorded administrations · 2021–February 2026
  1. ActionSA + AIC + Al Jama-ah + ANC + EFF + IFP + PA

    16 Aug 2024 → Active at cutoff · 28 Feb 2026

    Members at formation. Inaugural mayor: D. Morero.

    Speaker N. Mthembu was removed by a council vote in June 2025 and M. Arnolds of the AIC was elected in her place the following month. The council created the city's first deputy mayor post in January 2026. Masuku was elected to it on 26 February 2026.

  2. AIC + Al Jama-ah + ANC + ATM + COPE + EFF + GOOD + PA + PAC + UDM

    27 Jan 2023 → 13 Aug 2024 · Recomposition

    Members at formation. Inaugural mayor: T. Amad.

    Mayor T. Amad resigned in April 2023 and K. Gwamanda of Al Jama-ah was elected eleven days later. A June 2023 by-election moved a seat from the ANC to the PA.

    Release note: AHC is coded as opposition but a cited source lists it as a member.

  3. ACDP + ActionSA + DA + FF+ + IFP

    25 Oct 2022 → 26 Jan 2023 · MONC

    Members at formation. Inaugural mayor: M. Phalatse.

  4. Al Jama-ah + ANC + COPE + EFF + GOOD + PA

    30 Sept 2022 → 25 Oct 2022 · Court Order

    Members at formation. Inaugural mayor: D. Morero.

    This administration lasted under a month, too short for several parties to be observed in a role. The AIC, ATM, PAC and UDM are all coded as Unknown.

  5. ACDP + ActionSA + COPE + DA + FF+ + IFP + PA

    15 Feb 2022 → 30 Sept 2022 · MONC

    Members at formation. Outside support: EFF. Inaugural mayor: M. Phalatse.

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

    22 Nov 2021 → 14 Feb 2022 · Recomposition

    Members at formation. Outside support: EFF + PA. Inaugural mayor: M. Phalatse.

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.

In the news

Coalition news · Johannesburg

Since 4 November 2026 · From Google News

More on Google News

Loading headlines…

    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