Unmapped Dataworks

Free tools · From a European air-quality model

Air where you are

Nitrogen dioxide and ozone near the ground, and nitrogen dioxide and sulphur dioxide in the air above, for every municipality, district and province, month by month since 2003. Modelled by the Copernicus Atmosphere Monitoring Service. Newest whole year: 2025.

What it coversCovers all 213 municipalities: the whole country.Green: places with records. Worked out from release 2026-11-12. Boundaries: Municipal Demarcation Board, 2026 boundaries. The dataset

Nitrogen dioxide (NO2) comes mostly from burning: power stations, vehicles, industry. Near the ground is what people breathe. The column is all of it in the air above, from the ground to the top of the sky, which is what a satellite sees. Sulphur dioxide (SO2) comes mostly from burning coal. Ozone forms in sunlight from other pollutants.

Modelled, not measured: these figures come from the Copernicus Atmosphere Monitoring Service’s reanalysis, a weather and chemistry model that takes in satellite readings. Its cells are about 80 km across, so a busy road or a smoky winter evening in one suburb is smoothed into the region around it. It is not a reading at any address.

Every municipality, 2025

Ranked by nitrogen dioxide near the ground, the year’s mean (modelled). 70 of 213 are above WHO’s yearly guideline of 10 µg/m³.

#MunicipalityProvinceNO2 near the ground× WHO guidelineNO2 columnSO2 column
1Govan MbekiMpumalanga41 µg/m³4.1263 µmol/m²417 µmol/m²
2Rand West CityGauteng40 µg/m³4.0173 µmol/m²200 µmol/m²
3City of JohannesburgGauteng40 µg/m³4.0173 µmol/m²199 µmol/m²
4EmfuleniGauteng39 µg/m³3.9180 µmol/m²218 µmol/m²
5Victor KhanyeMpumalanga39 µg/m³3.9202 µmol/m²254 µmol/m²
6Mogale CityGauteng39 µg/m³3.9168 µmol/m²191 µmol/m²
7EkurhuleniGauteng38 µg/m³3.8176 µmol/m²186 µmol/m²
8LesediGauteng37 µg/m³3.7174 µmol/m²183 µmol/m²
9EmalahleniMpumalanga36 µg/m³3.6231 µmol/m²359 µmol/m²
10LekwaMpumalanga35 µg/m³3.5201 µmol/m²282 µmol/m²
11MidvaalGauteng33 µg/m³3.3161 µmol/m²180 µmol/m²
12Merafong CityGauteng32 µg/m³3.2140 µmol/m²153 µmol/m²
13NgwatheFree State30 µg/m³3.0151 µmol/m²181 µmol/m²
14City of TshwaneGauteng29 µg/m³2.9129 µmol/m²127 µmol/m²
15Dr Pixley Ka Isaka SemeMpumalanga29 µg/m³2.9170 µmol/m²231 µmol/m²
16MetsimaholoFree State27 µg/m³2.7144 µmol/m²167 µmol/m²
17DipalesengMpumalanga26 µg/m³2.6143 µmol/m²151 µmol/m²
18Local Municipality of MadibengNorth West25 µg/m³2.5110 µmol/m²103 µmol/m²
19Steve TshweteMpumalanga23 µg/m³2.3150 µmol/m²206 µmol/m²
20MoreteleNorth West23 µg/m³2.3102 µmol/m²97 µmol/m²
21MkhambathiniKwaZulu-Natal22 µg/m³2.2113 µmol/m²98 µmol/m²
22eThekwiniKwaZulu-Natal22 µg/m³2.2113 µmol/m²98 µmol/m²
23MsukaligwaMpumalanga22 µg/m³2.2147 µmol/m²198 µmol/m²
24Thembisile HaniMpumalanga22 µg/m³2.2113 µmol/m²117 µmol/m²
25NewcastleKwaZulu-Natal21 µg/m³2.1130 µmol/m²151 µmol/m²
26UmdoniKwaZulu-Natal21 µg/m³2.1110 µmol/m²96 µmol/m²
27RustenburgNorth West21 µg/m³2.196 µmol/m²92 µmol/m²
28MafubeFree State20 µg/m³2.0124 µmol/m²131 µmol/m²
29JB MarksNorth West20 µg/m³2.099 µmol/m²96 µmol/m²
30DannhauserKwaZulu-Natal19 µg/m³1.9123 µmol/m²139 µmol/m²
31Bela-BelaLimpopo19 µg/m³1.987 µmol/m²81 µmol/m²
32MohokareFree State19 µg/m³1.990 µmol/m²96 µmol/m²
33Dr JS MorokaMpumalanga18 µg/m³1.891 µmol/m²86 µmol/m²
34SenquEastern Cape18 µg/m³1.892 µmol/m²102 µmol/m²
35PhumelelaFree State17 µg/m³1.7111 µmol/m²125 µmol/m²
36EmadlangeniKwaZulu-Natal17 µg/m³1.7116 µmol/m²132 µmol/m²
37RichmondKwaZulu-Natal16 µg/m³1.688 µmol/m²72 µmol/m²
38MoqhakaFree State15 µg/m³1.593 µmol/m²88 µmol/m²
39KgetlengrivierNorth West15 µg/m³1.577 µmol/m²72 µmol/m²
40Chief Albert LuthuliMpumalanga15 µg/m³1.5116 µmol/m²148 µmol/m²
41City of MatlosanaNorth West15 µg/m³1.582 µmol/m²82 µmol/m²
42The MsunduziKwaZulu-Natal14 µg/m³1.484 µmol/m²68 µmol/m²
43NdwedweKwaZulu-Natal14 µg/m³1.488 µmol/m²73 µmol/m²
44Modimolle-MookgophongLimpopo14 µg/m³1.471 µmol/m²69 µmol/m²
45Maquassi HillsNorth West14 µg/m³1.477 µmol/m²81 µmol/m²
46uMshwathiKwaZulu-Natal14 µg/m³1.487 µmol/m²71 µmol/m²
47MamusaNorth West14 µg/m³1.469 µmol/m²75 µmol/m²
48LephalaleLimpopo14 µg/m³1.472 µmol/m²88 µmol/m²
49MkhondoMpumalanga14 µg/m³1.4118 µmol/m²141 µmol/m²
50UmvotiKwaZulu-Natal14 µg/m³1.486 µmol/m²72 µmol/m²
51MangaungFree State14 µg/m³1.470 µmol/m²68 µmol/m²
52Johannes Phumani PhungulaKwaZulu-Natal13 µg/m³1.378 µmol/m²62 µmol/m²
53ThabazimbiLimpopo13 µg/m³1.371 µmol/m²77 µmol/m²
54MaphumuloKwaZulu-Natal13 µg/m³1.384 µmol/m²72 µmol/m²
55Elias MotsoalediLimpopo13 µg/m³1.383 µmol/m²88 µmol/m²
56NalaFree State12 µg/m³1.277 µmol/m²75 µmol/m²
57Moses KotaneNorth West12 µg/m³1.269 µmol/m²68 µmol/m²
58MatjhabengFree State12 µg/m³1.275 µmol/m²69 µmol/m²
59MantsopaFree State11 µg/m³1.164 µmol/m²59 µmol/m²
60Lekwa-TeemaneNorth West11 µg/m³1.166 µmol/m²65 µmol/m²
61TswaingNorth West11 µg/m³1.164 µmol/m²66 µmol/m²
62NketoanaFree State11 µg/m³1.180 µmol/m²74 µmol/m²
63EndumeniKwaZulu-Natal11 µg/m³1.192 µmol/m²91 µmol/m²
64MogalakwenaLimpopo11 µg/m³1.159 µmol/m²60 µmol/m²
65StellenboschWestern Cape11 µg/m³1.148 µmol/m²19 µmol/m²
66eDumbeKwaZulu-Natal11 µg/m³1.198 µmol/m²108 µmol/m²
67Ephraim MogaleLimpopo11 µg/m³1.166 µmol/m²61 µmol/m²
68City of Cape TownWestern Cape11 µg/m³1.146 µmol/m²18 µmol/m²
69DrakensteinWestern Cape11 µg/m³1.147 µmol/m²18 µmol/m²
70TswelopeleFree State11 µg/m³1.167 µmol/m²65 µmol/m²
71Walter SisuluEastern Cape10 µg/m³1.065 µmol/m²57 µmol/m²
72uMngeniKwaZulu-Natal10 µg/m³1.070 µmol/m²52 µmol/m²
73MpofanaKwaZulu-Natal9.7 µg/m³1.069 µmol/m²50 µmol/m²
74MasilonyanaFree State9.4 µg/m³0.963 µmol/m²56 µmol/m²
75UmzimkhuluKwaZulu-Natal9.4 µg/m³0.965 µmol/m²52 µmol/m²
76UmzumbeKwaZulu-Natal9.3 µg/m³0.972 µmol/m²64 µmol/m²
77ImpendleKwaZulu-Natal8.9 µg/m³0.963 µmol/m²46 µmol/m²
78Alfred DumaKwaZulu-Natal8.9 µg/m³0.980 µmol/m²70 µmol/m²
79uMuziwabantuKwaZulu-Natal8.7 µg/m³0.967 µmol/m²59 µmol/m²
80MsingaKwaZulu-Natal8.7 µg/m³0.978 µmol/m²73 µmol/m²
81MakhuduthamagaLimpopo8.7 µg/m³0.960 µmol/m²57 µmol/m²
82Ray NkonyeniKwaZulu-Natal8.6 µg/m³0.968 µmol/m²61 µmol/m²
83EmakhazeniMpumalanga8.6 µg/m³0.970 µmol/m²75 µmol/m²
84SetsotoFree State8.5 µg/m³0.960 µmol/m²52 µmol/m²
85Inkosi LangalibaleleKwaZulu-Natal8.5 µg/m³0.967 µmol/m²52 µmol/m²
86NqutuKwaZulu-Natal8.5 µg/m³0.978 µmol/m²75 µmol/m²
87Dr Nkosazana Dlamini ZumaKwaZulu-Natal8.4 µg/m³0.860 µmol/m²44 µmol/m²
88AbaqulusiKwaZulu-Natal8.3 µg/m³0.886 µmol/m²95 µmol/m²
89DitsobotlaNorth West8.3 µg/m³0.858 µmol/m²52 µmol/m²
90SwartlandWestern Cape8.3 µg/m³0.845 µmol/m²17 µmol/m²
91Winnie Madikizela-MandelaEastern Cape8.0 µg/m³0.865 µmol/m²57 µmol/m²
92EmalahleniEastern Cape7.9 µg/m³0.862 µmol/m²51 µmol/m²
93Maluti a PhofungFree State7.9 µg/m³0.861 µmol/m²51 µmol/m²
94Lepele-NkumpiLimpopo7.9 µg/m³0.852 µmol/m²46 µmol/m²
95SakhisizweEastern Cape7.8 µg/m³0.864 µmol/m²56 µmol/m²
96NkandlaKwaZulu-Natal7.8 µg/m³0.875 µmol/m²73 µmol/m²
97Thaba ChweuMpumalanga7.7 µg/m³0.860 µmol/m²60 µmol/m²
98DihlabengFree State7.6 µg/m³0.855 µmol/m²45 µmol/m²
99Fetakgomo TubatseLimpopo7.6 µg/m³0.855 µmol/m²52 µmol/m²
100PolokwaneLimpopo7.5 µg/m³0.849 µmol/m²41 µmol/m²
101Dr AB XumaEastern Cape7.4 µg/m³0.763 µmol/m²55 µmol/m²
102Breede ValleyWestern Cape7.4 µg/m³0.743 µmol/m²14 µmol/m²
103ElundiniEastern Cape7.2 µg/m³0.762 µmol/m²61 µmol/m²
104City of MbombelaMpumalanga7.2 µg/m³0.762 µmol/m²65 µmol/m²
105TokologoFree State7.1 µg/m³0.756 µmol/m²49 µmol/m²
106Nelson Mandela BayEastern Cape7.0 µg/m³0.743 µmol/m²22 µmol/m²
107Intsika YethuEastern Cape6.8 µg/m³0.758 µmol/m²45 µmol/m²
108Kumkani MhlontloEastern Cape6.6 µg/m³0.761 µmol/m²56 µmol/m²
109TheewaterskloofWestern Cape6.6 µg/m³0.740 µmol/m²13 µmol/m²
110King Sabata DalindyeboEastern Cape6.5 µg/m³0.761 µmol/m²53 µmol/m²
111PhokwaneNorthern Cape6.5 µg/m³0.749 µmol/m²37 µmol/m²
112NalediNorth West6.5 µg/m³0.749 µmol/m²41 µmol/m²
113OkhahlambaKwaZulu-Natal6.4 µg/m³0.656 µmol/m²42 µmol/m²
114UlundiKwaZulu-Natal6.4 µg/m³0.673 µmol/m²78 µmol/m²
115MagarengNorthern Cape6.4 µg/m³0.648 µmol/m²36 µmol/m²
116BergrivierWestern Cape6.4 µg/m³0.644 µmol/m²15 µmol/m²
117MnqumaEastern Cape6.3 µg/m³0.657 µmol/m²44 µmol/m²
118Greater TzaneenLimpopo6.2 µg/m³0.648 µmol/m²40 µmol/m²
119LangebergWestern Cape6.2 µg/m³0.641 µmol/m²13 µmol/m²
120UmzimvubuEastern Cape6.1 µg/m³0.658 µmol/m²52 µmol/m²
121KwaDukuzaKwaZulu-Natal6.1 µg/m³0.668 µmol/m²68 µmol/m²
122BloubergLimpopo6.1 µg/m³0.647 µmol/m²41 µmol/m²
123NkomaziMpumalanga6.0 µg/m³0.659 µmol/m²60 µmol/m²
124Ramotshere MoiloaNorth West6.0 µg/m³0.651 µmol/m²49 µmol/m²
125MbhasheEastern Cape5.9 µg/m³0.657 µmol/m²47 µmol/m²
126NtabankuluEastern Cape5.9 µg/m³0.657 µmol/m²49 µmol/m²
127uMlalaziKwaZulu-Natal5.9 µg/m³0.669 µmol/m²71 µmol/m²
128MthonjaneniKwaZulu-Natal5.9 µg/m³0.670 µmol/m²75 µmol/m²
129Greater LetabaLimpopo5.9 µg/m³0.644 µmol/m²35 µmol/m²
130MarulengLimpopo5.8 µg/m³0.649 µmol/m²43 µmol/m²
131KopanongFree State5.7 µg/m³0.648 µmol/m²36 µmol/m²
132AmahlathiEastern Cape5.6 µg/m³0.650 µmol/m²33 µmol/m²
133NyandeniEastern Cape5.6 µg/m³0.659 µmol/m²53 µmol/m²
134MolemoleLimpopo5.6 µg/m³0.644 µmol/m²35 µmol/m²
135Port St JohnsEastern Cape5.5 µg/m³0.659 µmol/m²53 µmol/m²
136Sundays River ValleyEastern Cape5.4 µg/m³0.541 µmol/m²19 µmol/m²
137Great KeiEastern Cape5.4 µg/m³0.551 µmol/m²36 µmol/m²
138MandeniKwaZulu-Natal5.4 µg/m³0.567 µmol/m²68 µmol/m²
139WitzenbergWestern Cape5.4 µg/m³0.538 µmol/m²12 µmol/m²
140uPhongoloKwaZulu-Natal5.3 µg/m³0.576 µmol/m²89 µmol/m²
141MafikengNorth West5.3 µg/m³0.547 µmol/m²42 µmol/m²
142Buffalo CityEastern Cape5.2 µg/m³0.549 µmol/m²31 µmol/m²
143Ingquza HillEastern Cape5.1 µg/m³0.558 µmol/m²53 µmol/m²
144Greater KokstadKwaZulu-Natal5.1 µg/m³0.550 µmol/m²38 µmol/m²
145CederbergWestern Cape5.1 µg/m³0.540 µmol/m²12 µmol/m²
146OverstrandWestern Cape5.1 µg/m³0.536 µmol/m²11 µmol/m²
147Greater TaungNorth West5.0 µg/m³0.544 µmol/m²31 µmol/m²
148NongomaKwaZulu-Natal4.9 µg/m³0.572 µmol/m²83 µmol/m²
149MatatieleEastern Cape4.8 µg/m³0.549 µmol/m²43 µmol/m²
150MakhadoLimpopo4.8 µg/m³0.542 µmol/m²30 µmol/m²
151BushbuckridgeMpumalanga4.8 µg/m³0.548 µmol/m²41 µmol/m²
152Sol PlaatjeNorthern Cape4.8 µg/m³0.543 µmol/m²30 µmol/m²
153KougaEastern Cape4.7 µg/m³0.539 µmol/m²15 µmol/m²
154Enoch MgijimaEastern Cape4.7 µg/m³0.543 µmol/m²25 µmol/m²
155Greater GiyaniLimpopo4.7 µg/m³0.543 µmol/m²32 µmol/m²
156Blue Crane RouteEastern Cape4.6 µg/m³0.539 µmol/m²17 µmol/m²
157Saldanha BayWestern Cape4.6 µg/m³0.540 µmol/m²14 µmol/m²
158NgqushwaEastern Cape4.5 µg/m³0.544 µmol/m²24 µmol/m²
159MakanaEastern Cape4.4 µg/m³0.441 µmol/m²19 µmol/m²
160Raymond MhlabaEastern Cape4.4 µg/m³0.441 µmol/m²21 µmol/m²
161LetsemengFree State4.4 µg/m³0.444 µmol/m²31 µmol/m²
162Cape AgulhasWestern Cape4.3 µg/m³0.437 µmol/m²11 µmol/m²
163RatlouNorth West4.2 µg/m³0.443 µmol/m²35 µmol/m²
164SwellendamWestern Cape4.2 µg/m³0.436 µmol/m²10 µmol/m²
165uMhlathuzeKwaZulu-Natal4.0 µg/m³0.463 µmol/m²69 µmol/m²
166Ba-PhalaborwaLimpopo3.8 µg/m³0.444 µmol/m²34 µmol/m²
167ThulamelaLimpopo3.7 µg/m³0.439 µmol/m²26 µmol/m²
168DikgatlongNorthern Cape3.6 µg/m³0.439 µmol/m²26 µmol/m²
169Kou-KammaEastern Cape3.4 µg/m³0.335 µmol/m²12 µmol/m²
170Collins ChabaneLimpopo3.4 µg/m³0.339 µmol/m²27 µmol/m²
171KannalandWestern Cape3.4 µg/m³0.334 µmol/m²10 µmol/m²
172OudtshoornWestern Cape3.3 µg/m³0.334 µmol/m²10 µmol/m²
173NdlambeEastern Cape3.2 µg/m³0.340 µmol/m²20 µmol/m²
174Inxuba YethembaEastern Cape3.2 µg/m³0.335 µmol/m²15 µmol/m²
175UmsobomvuNorthern Cape3.1 µg/m³0.337 µmol/m²21 µmol/m²
176Dr Beyers NaudeEastern Cape3.0 µg/m³0.333 µmol/m²11 µmol/m²
177MusinaLimpopo3.0 µg/m³0.337 µmol/m²23 µmol/m²
178Mossel BayWestern Cape3.0 µg/m³0.334 µmol/m²10 µmol/m²
179GeorgeWestern Cape3.0 µg/m³0.334 µmol/m²11 µmol/m²
180Big Five HlabisaKwaZulu-Natal2.9 µg/m³0.361 µmol/m²69 µmol/m²
181HessequaWestern Cape2.9 µg/m³0.334 µmol/m²10 µmol/m²
182KnysnaWestern Cape2.9 µg/m³0.334 µmol/m²11 µmol/m²
183RenosterbergNorthern Cape2.8 µg/m³0.336 µmol/m²21 µmol/m²
184MatzikamaWestern Cape2.8 µg/m³0.333 µmol/m²10 µmol/m²
185LaingsburgWestern Cape2.8 µg/m³0.332 µmol/m²8 µmol/m²
186ThembelihleNorthern Cape2.7 µg/m³0.335 µmol/m²19 µmol/m²
187SiyancumaNorthern Cape2.7 µg/m³0.334 µmol/m²18 µmol/m²
188Kagisano/MolopoNorth West2.7 µg/m³0.337 µmol/m²22 µmol/m²
189BitouWestern Cape2.7 µg/m³0.333 µmol/m²10 µmol/m²
190Prince AlbertWestern Cape2.7 µg/m³0.332 µmol/m²9 µmol/m²
191Joe MorolongNorthern Cape2.6 µg/m³0.335 µmol/m²18 µmol/m²
192Ga-SegonyanaNorthern Cape2.6 µg/m³0.335 µmol/m²19 µmol/m²
193GamagaraNorthern Cape2.6 µg/m³0.333 µmol/m²16 µmol/m²
194JoziniKwaZulu-Natal2.5 µg/m³0.360 µmol/m²71 µmol/m²
195KgatelopeleNorthern Cape2.5 µg/m³0.335 µmol/m²19 µmol/m²
196MfoloziKwaZulu-Natal2.4 µg/m³0.258 µmol/m²64 µmol/m²
197TsantsabaneNorthern Cape2.4 µg/m³0.233 µmol/m²14 µmol/m²
198Inkosi MtubatubaKwaZulu-Natal2.3 µg/m³0.257 µmol/m²63 µmol/m²
199EmthanjeniNorthern Cape2.2 µg/m³0.233 µmol/m²15 µmol/m²
200KamiesbergNorthern Cape2.0 µg/m³0.230 µmol/m²8 µmol/m²
201HantamNorthern Cape2.0 µg/m³0.230 µmol/m²8 µmol/m²
202SiyathembaNorthern Cape2.0 µg/m³0.231 µmol/m²13 µmol/m²
203Beaufort WestWestern Cape2.0 µg/m³0.230 µmol/m²9 µmol/m²
204Nama KhoiNorthern Cape1.8 µg/m³0.230 µmol/m²8 µmol/m²
205Karoo HooglandNorthern Cape1.8 µg/m³0.229 µmol/m²8 µmol/m²
206UbuntuNorthern Cape1.8 µg/m³0.230 µmol/m²10 µmol/m²
207Dawid KruiperNorthern Cape1.8 µg/m³0.231 µmol/m²10 µmol/m²
208UmhlabuyalinganaKwaZulu-Natal1.7 µg/m³0.255 µmol/m²65 µmol/m²
209!KheisNorthern Cape1.7 µg/m³0.230 µmol/m²11 µmol/m²
210KareebergNorthern Cape1.6 µg/m³0.229 µmol/m²10 µmol/m²
211Kai !GaribNorthern Cape1.4 µg/m³0.129 µmol/m²9 µmol/m²
212RichtersveldNorthern Cape1.3 µg/m³0.130 µmol/m²8 µmol/m²
213Khâi-MaNorthern Cape1.3 µg/m³0.128 µmol/m²8 µmol/m²

WHO’s 2021 guideline for nitrogen dioxide is 10 µg/m³ as a yearly mean. It is a long-term health guideline, not a legal limit (South Africa’s national standard for the yearly mean is set separately), and these are modelled regional means, not readings where you live.

By province

How it was checked

The Mpumalanga Highveld, where most of the country’s coal power stations are, stands out: Govan Mbeki (Secunda) has the most nitrogen dioxide and sulphur dioxide of any municipality, and all five Highveld municipalities we checked are in the top tenth for sulphur dioxide in the column. Winters read above summers in every Highveld and Gauteng metro municipality checked. Johannesburg and Tshwane read far above the rural Northern Cape. The checks are in the docs.

Source

Modelled, not measured: these figures come from the Copernicus Atmosphere Monitoring Service’s reanalysis, a weather and chemistry model that takes in satellite readings. Its cells are about 80 km across, so a busy road or a smoky winter evening in one suburb is smoothed into the region around it. It is not a reading at any address.

How we worked this out

What we changed: we averaged the reanalysis’s monthly means over each place by its area in each 0.75 degree cell, turned NO2 and ozone on the model’s lowest level from mass mixing ratio into micrograms per m3 with the month’s air density (surface pressure and temperature), and the columns from kg per m2 into micromol per m2.

Particles (PM2.5, PM10) and sulphur dioxide near the ground are not shown yet: the model reads them far higher over Gauteng and the Highveld than is plausible for a regional mean, so they wait for a check against ground stations.

Contains modified Copernicus Atmosphere Monitoring Service information 2003 to 2025. Neither the European Commission nor ECMWF is responsible for any use that may be made of the Copernicus information or data it contains. Copernicus Atmosphere Monitoring Service (2020): CAMS global reanalysis (EAC4) monthly averaged fields. Copernicus Atmosphere Monitoring Service (CAMS) Atmosphere Data Store, DOI 10.24381/fd75fff2. Inness, A. and others (2019): The CAMS reanalysis of atmospheric composition, Atmos. Chem. Phys., 19, 3515 to 3556. Under CC BY 4.0.

Dataset: air quality by municipality, release of 12 November 2026.

Unmapped Dataworks