Free tools · Measured from space
How hot the ground gets
Land surface temperature for every ward, municipality, district and province, month by month since 1984, from the Landsat satellites. Newest summer: 2025/26.
Land surface temperature is how hot the ground itself is: roofs, roads, bare soil and leaves, as a satellite sees them from above. Landsat passes at about 10 in the morning and sees only through clear skies. It is not the air temperature a weather station gives: on a sunny day the ground is often 10 to 20 degrees hotter than the air, and hard, dark, dry surfaces heat up most while trees, grass and water stay cooler.
What it is not: not the afternoon peak, not the night, not the air you feel in the shade, and not a reading at any one house. A month with clouds rests on few clear looks.
Every municipality, summer 2025/26
Ranked by land surface temperature on clear summer mornings, December to February. “Against usual” is this summer against the municipality’s own summers since 2014.
| # | Municipality | Province | Land surface temperature | Against usual |
|---|---|---|---|---|
| 1 | Kai !Garib | Northern Cape | 51.8 °C | +3.3 °C |
| 2 | Dawid Kruiper | Northern Cape | 50.0 °C | +0.6 °C |
| 3 | Hantam | Northern Cape | 49.0 °C | +1.9 °C |
| 4 | Khâi-Ma | Northern Cape | 48.8 °C | +1.3 °C |
| 5 | !Kheis | Northern Cape | 47.4 °C | −0.5 °C |
| 6 | Matzikama | Western Cape | 46.8 °C | +1.2 °C |
| 7 | Prince Albert | Western Cape | 46.2 °C | +0.1 °C |
| 8 | Karoo Hoogland | Northern Cape | 46.1 °C | +1.3 °C |
| 9 | Kareeberg | Northern Cape | 46.1 °C | −0.6 °C |
| 10 | Nama Khoi | Northern Cape | 46.0 °C | +0.1 °C |
| 11 | Beaufort West | Western Cape | 45.1 °C | 0.0 °C |
| 12 | Richtersveld | Northern Cape | 45.0 °C | +0.1 °C |
| 13 | Witzenberg | Western Cape | 45.0 °C | +1.1 °C |
| 14 | Siyathemba | Northern Cape | 44.9 °C | −1.6 °C |
| 15 | Kamiesberg | Northern Cape | 44.8 °C | −0.2 °C |
| 16 | Ubuntu | Northern Cape | 43.7 °C | −0.2 °C |
| 17 | Swartland | Western Cape | 43.4 °C | +0.8 °C |
| 18 | Cederberg | Western Cape | 43.1 °C | +2.3 °C |
| 19 | Dr Beyers Naude | Eastern Cape | 42.6 °C | +0.2 °C |
| 20 | Emthanjeni | Northern Cape | 42.6 °C | −1.3 °C |
| 21 | Bergrivier | Western Cape | 42.5 °C | +0.9 °C |
| 22 | Thembelihle | Northern Cape | 42.3 °C | −2.6 °C |
| 23 | Laingsburg | Western Cape | 42.3 °C | +0.2 °C |
| 24 | Saldanha Bay | Western Cape | 41.3 °C | +0.2 °C |
| 25 | Kannaland | Western Cape | 41.3 °C | −0.1 °C |
| 26 | Siyancuma | Northern Cape | 41.2 °C | −3.3 °C |
| 27 | Sol Plaatje | Northern Cape | 41.0 °C | −1.6 °C |
| 28 | Joe Morolong | Northern Cape | 40.9 °C | −4.7 °C |
| 29 | Renosterberg | Northern Cape | 40.8 °C | −1.7 °C |
| 30 | Letsemeng | Free State | 40.5 °C | −1.5 °C |
| 31 | Blue Crane Route | Eastern Cape | 40.4 °C | +0.3 °C |
| 32 | Ba-Phalaborwa | Limpopo | 40.4 °C | −1.7 °C |
| 33 | Magareng | Northern Cape | 40.3 °C | −0.7 °C |
| 34 | Tsantsabane | Northern Cape | 40.2 °C | −5.1 °C |
| 35 | Umsobomvu | Northern Cape | 39.9 °C | −0.8 °C |
| 36 | City of Cape Town | Western Cape | 39.8 °C | +0.9 °C |
| 37 | Tokologo | Free State | 39.7 °C | −0.9 °C |
| 38 | Hessequa | Western Cape | 39.7 °C | +1.2 °C |
| 39 | Greater Giyani | Limpopo | 39.6 °C | −3.5 °C |
| 40 | Inxuba Yethemba | Eastern Cape | 39.4 °C | +0.1 °C |
| 41 | Swellendam | Western Cape | 39.4 °C | +0.6 °C |
| 42 | Drakenstein | Western Cape | 39.3 °C | +0.9 °C |
| 43 | Ngqushwa | Eastern Cape | 39.2 °C | +2.6 °C |
| 44 | Oudtshoorn | Western Cape | 39.2 °C | +0.4 °C |
| 45 | Makana | Eastern Cape | 39.1 °C | +1.2 °C |
| 46 | eThekwini | KwaZulu-Natal | 38.9 °C | +1.2 °C |
| 47 | Musina | Limpopo | 38.8 °C | −4.9 °C |
| 48 | Kagisano/Molopo | North West | 38.8 °C | −3.9 °C |
| 49 | King Sabata Dalindyebo | Eastern Cape | 38.6 °C | +3.0 °C |
| 50 | Kopanong | Free State | 38.5 °C | −1.6 °C |
| 51 | Greater Taung | North West | 38.5 °C | −3.3 °C |
| 52 | Nelson Mandela Bay | Eastern Cape | 38.3 °C | +1.8 °C |
| 53 | Cape Agulhas | Western Cape | 38.3 °C | +0.4 °C |
| 54 | Langeberg | Western Cape | 38.0 °C | +0.5 °C |
| 55 | Breede Valley | Western Cape | 37.9 °C | +0.5 °C |
| 56 | Dikgatlong | Northern Cape | 37.8 °C | −3.8 °C |
| 57 | Kouga | Eastern Cape | 37.7 °C | +1.8 °C |
| 58 | Naledi | North West | 37.7 °C | −4.3 °C |
| 59 | Intsika Yethu | Eastern Cape | 37.6 °C | +1.7 °C |
| 60 | Makhuduthamaga | Limpopo | 37.6 °C | −2.6 °C |
| 61 | Theewaterskloof | Western Cape | 37.6 °C | +1.2 °C |
| 62 | Sundays River Valley | Eastern Cape | 37.4 °C | +0.5 °C |
| 63 | Buffalo City | Eastern Cape | 37.3 °C | +2.9 °C |
| 64 | Lekwa-Teemane | North West | 37.3 °C | −2.9 °C |
| 65 | Stellenbosch | Western Cape | 37.3 °C | +2.0 °C |
| 66 | Enoch Mgijima | Eastern Cape | 37.1 °C | −0.1 °C |
| 67 | Collins Chabane | Limpopo | 37.1 °C | −5.6 °C |
| 68 | Ndlambe | Eastern Cape | 37.0 °C | +3.0 °C |
| 69 | Gamagara | Northern Cape | 36.9 °C | −7.7 °C |
| 70 | Kumkani Mhlontlo | Eastern Cape | 36.8 °C | +2.3 °C |
| 71 | Amahlathi | Eastern Cape | 36.7 °C | +2.5 °C |
| 72 | Walter Sisulu | Eastern Cape | 36.7 °C | −1.4 °C |
| 73 | Overstrand | Western Cape | 36.7 °C | +2.9 °C |
| 74 | Ratlou | North West | 36.6 °C | −3.7 °C |
| 75 | George | Western Cape | 36.6 °C | +0.3 °C |
| 76 | Mnquma | Eastern Cape | 36.5 °C | +1.9 °C |
| 77 | Ga-Segonyana | Northern Cape | 36.4 °C | −5.7 °C |
| 78 | Raymond Mhlaba | Eastern Cape | 36.3 °C | +1.6 °C |
| 79 | Kou-Kamma | Eastern Cape | 36.2 °C | +1.8 °C |
| 80 | Dr AB Xuma | Eastern Cape | 36.2 °C | +1.7 °C |
| 81 | Kgatelopele | Northern Cape | 36.2 °C | −5.8 °C |
| 82 | Great Kei | Eastern Cape | 36.1 °C | +2.5 °C |
| 83 | Maruleng | Limpopo | 36.1 °C | −2.0 °C |
| 84 | Emalahleni | Eastern Cape | 36.0 °C | +0.1 °C |
| 85 | Ntabankulu | Eastern Cape | 35.9 °C | +0.9 °C |
| 86 | Phokwane | Northern Cape | 35.9 °C | −2.8 °C |
| 87 | Mbhashe | Eastern Cape | 35.7 °C | +1.2 °C |
| 88 | Masilonyana | Free State | 35.7 °C | −2.4 °C |
| 89 | Fetakgomo Tubatse | Limpopo | 35.7 °C | −3.0 °C |
| 90 | Mangaung | Free State | 35.7 °C | −2.6 °C |
| 91 | Umzimvubu | Eastern Cape | 35.6 °C | +0.6 °C |
| 92 | Mohokare | Free State | 35.6 °C | −2.3 °C |
| 93 | Nqutu | KwaZulu-Natal | 35.6 °C | −1.7 °C |
| 94 | Ephraim Mogale | Limpopo | 35.6 °C | −3.1 °C |
| 95 | Mossel Bay | Western Cape | 35.5 °C | +1.8 °C |
| 96 | Ingquza Hill | Eastern Cape | 35.4 °C | +1.1 °C |
| 97 | Nyandeni | Eastern Cape | 35.4 °C | +2.0 °C |
| 98 | Tswelopele | Free State | 35.3 °C | −3.6 °C |
| 99 | Ndwedwe | KwaZulu-Natal | 35.3 °C | · |
| 100 | Moqhaka | Free State | 35.2 °C | −2.1 °C |
| 101 | Ngwathe | Free State | 35.2 °C | −1.6 °C |
| 102 | Lepele-Nkumpi | Limpopo | 35.2 °C | −2.6 °C |
| 103 | Matjhabeng | Free State | 35.1 °C | −2.8 °C |
| 104 | Mamusa | North West | 35.1 °C | −5.9 °C |
| 105 | Nala | Free State | 34.9 °C | −3.9 °C |
| 106 | Mkhambathini | KwaZulu-Natal | 34.9 °C | +0.9 °C |
| 107 | Polokwane | Limpopo | 34.9 °C | −2.7 °C |
| 108 | Tswaing | North West | 34.7 °C | −4.7 °C |
| 109 | Msinga | KwaZulu-Natal | 34.6 °C | −1.2 °C |
| 110 | Nongoma | KwaZulu-Natal | 34.6 °C | −2.6 °C |
| 111 | Maphumulo | KwaZulu-Natal | 34.6 °C | +0.9 °C |
| 112 | Dr JS Moroka | Mpumalanga | 34.6 °C | −3.7 °C |
| 113 | City of Matlosana | North West | 34.6 °C | −3.1 °C |
| 114 | Blouberg | Limpopo | 34.5 °C | −5.2 °C |
| 115 | Winnie Madikizela-Mandela | Eastern Cape | 34.4 °C | 0.0 °C |
| 116 | City of Johannesburg | Gauteng | 34.4 °C | −1.7 °C |
| 117 | Emadlangeni | KwaZulu-Natal | 34.4 °C | −1.0 °C |
| 118 | Dannhauser | KwaZulu-Natal | 34.4 °C | −1.4 °C |
| 119 | Abaqulusi | KwaZulu-Natal | 34.4 °C | −2.1 °C |
| 120 | Mafikeng | North West | 34.4 °C | −5.1 °C |
| 121 | Maquassi Hills | North West | 34.4 °C | −4.6 °C |
| 122 | Endumeni | KwaZulu-Natal | 34.3 °C | −1.2 °C |
| 123 | Bushbuckridge | Mpumalanga | 34.3 °C | −6.0 °C |
| 124 | Elias Motsoaledi | Limpopo | 34.2 °C | −2.1 °C |
| 125 | Umdoni | KwaZulu-Natal | 34.1 °C | · |
| 126 | Ulundi | KwaZulu-Natal | 34.1 °C | −3.4 °C |
| 127 | KwaDukuza | KwaZulu-Natal | 34.1 °C | −2.2 °C |
| 128 | Molemole | Limpopo | 34.1 °C | −3.9 °C |
| 129 | Emalahleni | Mpumalanga | 34.1 °C | −0.6 °C |
| 130 | Thembisile Hani | Mpumalanga | 34.1 °C | −2.9 °C |
| 131 | Mfolozi | KwaZulu-Natal | 34.0 °C | −3.4 °C |
| 132 | Lekwa | Mpumalanga | 34.0 °C | −0.6 °C |
| 133 | Ekurhuleni | Gauteng | 33.9 °C | −1.9 °C |
| 134 | Metsimaholo | Free State | 33.9 °C | −2.6 °C |
| 135 | Mandeni | KwaZulu-Natal | 33.9 °C | −2.8 °C |
| 136 | Umzimkhulu | KwaZulu-Natal | 33.9 °C | −0.3 °C |
| 137 | Mantsopa | Free State | 33.8 °C | −3.2 °C |
| 138 | uMhlathuze | KwaZulu-Natal | 33.8 °C | −1.6 °C |
| 139 | Bela-Bela | Limpopo | 33.8 °C | −4.5 °C |
| 140 | Steve Tshwete | Mpumalanga | 33.8 °C | −0.8 °C |
| 141 | Moretele | North West | 33.8 °C | −4.7 °C |
| 142 | Port St Johns | Eastern Cape | 33.7 °C | +2.2 °C |
| 143 | Emfuleni | Gauteng | 33.7 °C | −2.4 °C |
| 144 | Alfred Duma | KwaZulu-Natal | 33.7 °C | −2.1 °C |
| 145 | Govan Mbeki | Mpumalanga | 33.7 °C | −0.8 °C |
| 146 | Ramotshere Moiloa | North West | 33.7 °C | −4.9 °C |
| 147 | Newcastle | KwaZulu-Natal | 33.6 °C | −1.0 °C |
| 148 | Big Five Hlabisa | KwaZulu-Natal | 33.6 °C | −4.3 °C |
| 149 | Ditsobotla | North West | 33.6 °C | −4.9 °C |
| 150 | Midvaal | Gauteng | 33.4 °C | −2.6 °C |
| 151 | The Msunduzi | KwaZulu-Natal | 33.4 °C | −1.2 °C |
| 152 | Sakhisizwe | Eastern Cape | 33.3 °C | 0.0 °C |
| 153 | Lephalale | Limpopo | 33.3 °C | −5.5 °C |
| 154 | Mafube | Free State | 33.2 °C | −2.4 °C |
| 155 | Dipaleseng | Mpumalanga | 33.2 °C | −1.8 °C |
| 156 | City of Tshwane | Gauteng | 33.2 °C | −3.9 °C |
| 157 | Setsoto | Free State | 33.1 °C | −3.9 °C |
| 158 | Greater Letaba | Limpopo | 33.1 °C | −4.7 °C |
| 159 | Moses Kotane | North West | 33.1 °C | −5.0 °C |
| 160 | Rand West City | Gauteng | 33.0 °C | −2.7 °C |
| 161 | Ray Nkonyeni | KwaZulu-Natal | 32.9 °C | −0.8 °C |
| 162 | uMlalazi | KwaZulu-Natal | 32.9 °C | −2.7 °C |
| 163 | Nkandla | KwaZulu-Natal | 32.9 °C | −1.6 °C |
| 164 | Thabazimbi | Limpopo | 32.9 °C | −6.7 °C |
| 165 | JB Marks | North West | 32.9 °C | −3.9 °C |
| 166 | uPhongolo | KwaZulu-Natal | 32.8 °C | −4.0 °C |
| 167 | Local Municipality of Madibeng | North West | 32.8 °C | −5.0 °C |
| 168 | eDumbe | KwaZulu-Natal | 32.7 °C | −0.9 °C |
| 169 | Mthonjaneni | KwaZulu-Natal | 32.7 °C | −2.8 °C |
| 170 | Dr Pixley Ka Isaka Seme | Mpumalanga | 32.7 °C | −1.0 °C |
| 171 | Nkomazi | Mpumalanga | 32.7 °C | −3.3 °C |
| 172 | Bitou | Western Cape | 32.7 °C | +2.9 °C |
| 173 | Lesedi | Gauteng | 32.5 °C | −2.7 °C |
| 174 | Greater Kokstad | KwaZulu-Natal | 32.5 °C | −0.2 °C |
| 175 | Chief Albert Luthuli | Mpumalanga | 32.5 °C | −1.4 °C |
| 176 | Mpofana | KwaZulu-Natal | 32.4 °C | −0.4 °C |
| 177 | Thulamela | Limpopo | 32.4 °C | −4.7 °C |
| 178 | Makhado | Limpopo | 32.4 °C | −3.9 °C |
| 179 | Mogalakwena | Limpopo | 32.4 °C | −4.2 °C |
| 180 | Emakhazeni | Mpumalanga | 32.4 °C | −0.7 °C |
| 181 | Phumelela | Free State | 32.3 °C | −1.5 °C |
| 182 | uMshwathi | KwaZulu-Natal | 32.3 °C | −0.6 °C |
| 183 | Matatiele | Eastern Cape | 32.2 °C | −1.0 °C |
| 184 | Mogale City | Gauteng | 32.2 °C | −3.7 °C |
| 185 | Merafong City | Gauteng | 32.2 °C | −3.4 °C |
| 186 | Inkosi Langalibalele | KwaZulu-Natal | 32.2 °C | −1.6 °C |
| 187 | Victor Khanye | Mpumalanga | 32.2 °C | −2.1 °C |
| 188 | Senqu | Eastern Cape | 32.1 °C | −1.8 °C |
| 189 | Jozini | KwaZulu-Natal | 32.1 °C | −5.2 °C |
| 190 | Richmond | KwaZulu-Natal | 32.0 °C | −0.5 °C |
| 191 | Modimolle-Mookgophong | Limpopo | 32.0 °C | −5.4 °C |
| 192 | Rustenburg | North West | 32.0 °C | −6.8 °C |
| 193 | uMuziwabantu | KwaZulu-Natal | 31.9 °C | −0.4 °C |
| 194 | Okhahlamba | KwaZulu-Natal | 31.9 °C | −1.2 °C |
| 195 | Msukaligwa | Mpumalanga | 31.9 °C | −1.5 °C |
| 196 | Mkhondo | Mpumalanga | 31.8 °C | −1.5 °C |
| 197 | Elundini | Eastern Cape | 31.7 °C | −0.2 °C |
| 198 | Maluti a Phofung | Free State | 31.7 °C | −1.7 °C |
| 199 | Umvoti | KwaZulu-Natal | 31.7 °C | −1.2 °C |
| 200 | Johannes Phumani Phungula | KwaZulu-Natal | 31.6 °C | −1.7 °C |
| 201 | Dr Nkosazana Dlamini Zuma | KwaZulu-Natal | 31.6 °C | −0.5 °C |
| 202 | City of Mbombela | Mpumalanga | 31.6 °C | −2.0 °C |
| 203 | Nketoana | Free State | 31.5 °C | −3.9 °C |
| 204 | Impendle | KwaZulu-Natal | 31.5 °C | −0.6 °C |
| 205 | Greater Tzaneen | Limpopo | 31.4 °C | −2.8 °C |
| 206 | Umzumbe | KwaZulu-Natal | 31.2 °C | −1.9 °C |
| 207 | Thaba Chweu | Mpumalanga | 31.1 °C | −1.1 °C |
| 208 | uMngeni | KwaZulu-Natal | 30.8 °C | −0.7 °C |
| 209 | Knysna | Western Cape | 30.7 °C | +0.9 °C |
| 210 | Dihlabeng | Free State | 30.6 °C | −3.2 °C |
| 211 | Kgetlengrivier | North West | 30.5 °C | −6.7 °C |
Inside the metros
In a city the ground heats up most where it is covered by roofs, tar and bare earth, and least where there are trees, parks and water. Each metro page lists its wards from warmest to coolest against the metro’s own average.
By province
How it was checked
Each summer’s land surface temperature was ranked against ERA5-Land’s air temperature for the same months (our weather by ward), place by place: hotter summers on the ground are, on the whole, hotter summers in the air. Sample scenes were measured again at Landsat’s full 30 m, and every ward adds up to its province. The figures are in the docs.
Source
Measured from space by the American Landsat satellites: the ground, not the air.
How we worked this out
Landsat 5 to 2011, Landsat 7 to bridge the gaps, Landsat 8 and 9 from 2013: different satellites pass at slightly different times, so compare summers within the same years first.
What we changed: we kept only the clear land cells (no cloud, cloud shadow, snow or water, with a margin round each cloud), read them at 480 m, and averaged them over each 2026 ward each month; larger places are the sums of their wards.
Landsat imagery courtesy of the U.S. Geological Survey (Landsat Collection 2 surface temperature, through Digital Earth Africa’s copy).
Dataset: land surface temperature by ward, release of 13 November 2026.