← Home
National ranking · Data 1991–2020 · Source: BFS
The warmest municipalities in Switzerland (1991–2020)
Swiss municipality rankings →Ascona (TI) is the warmest municipality in Switzerland: 13 °C annual mean (1991–2020 normals). Next come Arogno (13 °C) and Bissone (13 °C). Source: MeteoSwiss 1 km climate-normals grid.
Top 100
MeteoSchweiz · 1991–2020| Rank | Municipality | Avg. temp. | Canton | Residents |
|---|---|---|---|---|
| 1 | Ascona | 13 °C | TI | 5'290 |
| 2 | Arogno | 13 °C | TI | 931 |
| 3 | Bissone | 13 °C | TI | 945 |
| 4 | Losone | 12.9 °C | TI | 6'780 |
| 5 | Brissago | 12.8 °C | TI | 1'577 |
| 6 | Grancia | 12.5 °C | TI | 457 |
| 7 | Muzzano | 12.5 °C | TI | 775 |
| 8 | Avegno Gordevio | 12.4 °C | TI | 1'525 |
| 9 | Collina d'Oro | 12.3 °C | TI | 4'932 |
| 10 | Gambarogno | 12.2 °C | TI | 4'977 |
| 11 | Chiasso | 12.1 °C | TI | 7'677 |
| 12 | Lamone | 11.9 °C | TI | 1'748 |
| 13 | Manno | 11.9 °C | TI | 1'381 |
| 14 | Massagno | 11.9 °C | TI | 6'976 |
| 15 | Savosa | 11.9 °C | TI | 2'315 |
| 16 | Cadenazzo | 11.8 °C | TI | 3'139 |
| 17 | Isone | 11.7 °C | TI | 407 |
| 18 | Sant'Antonino | 11.7 °C | TI | 2'655 |
| 19 | Cureglia | 11.7 °C | TI | 1'484 |
| 20 | Porza | 11.7 °C | TI | 1'696 |
| 21 | Torricella-Taverne | 11.7 °C | TI | 3'128 |
| 22 | Vezia | 11.7 °C | TI | 1'957 |
| 23 | Riviera | 11.7 °C | TI | 4'262 |
| 24 | Lugano | 11.4 °C | TI | 63'691 |
| 25 | Mendrisio | 11.4 °C | TI | 15'076 |
| 26 | Novazzano | 11.4 °C | TI | 2'339 |
| 27 | Chavannes-près-Renens | 11.4 °C | VD | 10'720 |
| 28 | Denges | 11.4 °C | VD | 1'842 |
| 29 | Saint-Sulpice | 11.4 °C | VD | 5'191 |
| 30 | Coldrerio | 11.3 °C | TI | 2'838 |
| 31 | Echandens | 11.3 °C | VD | 3'110 |
| 32 | Ecublens | 11.3 °C | VD | 13'747 |
| 33 | Préverenges | 11.3 °C | VD | 5'222 |
| 34 | Basel | 11.2 °C | BS | 180'097 |
| 35 | Riehen | 11.2 °C | BS | 22'774 |
| 36 | Riva San Vitale | 11.2 °C | TI | 2'740 |
| 37 | Renens | 11.2 °C | VD | 21'793 |
| 38 | Lonay | 11.2 °C | VD | 2'707 |
| 39 | Morges | 11.2 °C | VD | 17'803 |
| 40 | Tolochenaz | 11.2 °C | VD | 1'926 |
| 41 | Anières | 11.2 °C | GE | 2'589 |
| 42 | Carouge | 11.2 °C | GE | 22'783 |
| 43 | Collonge-Bellerive | 11.2 °C | GE | 8'655 |
| 44 | Hermance | 11.2 °C | GE | 1'221 |
| 45 | Lancy | 11.2 °C | GE | 37'520 |
| 46 | Allschwil | 11.1 °C | BL | 22'374 |
| 47 | Birsfelden | 11.1 °C | BL | 10'401 |
| 48 | Münchenstein | 11.1 °C | BL | 12'662 |
| 49 | Muttenz | 11.1 °C | BL | 18'308 |
| 50 | Augst | 11.1 °C | BL | 1'140 |
| 51 | Kaiseraugst | 11.1 °C | AG | 5'985 |
| 52 | Bedano | 11.1 °C | TI | 1'501 |
| 53 | Canobbio | 11.1 °C | TI | 2'403 |
| 54 | Paudex | 11.1 °C | VD | 1'480 |
| 55 | Bremblens | 11.1 °C | VD | 595 |
| 56 | Bussigny | 11.1 °C | VD | 12'120 |
| 57 | Lully | 11.1 °C | VD | 820 |
| 58 | Saint-Prex | 11.1 °C | VD | 5'923 |
| 59 | Cartigny | 11.1 °C | GE | 1'063 |
| 60 | Chancy | 11.1 °C | GE | 1'653 |
| 61 | Plan-les-Ouates | 11.1 °C | GE | 12'644 |
| 62 | Troinex | 11.1 °C | GE | 3'358 |
| 63 | Veyrier | 11.1 °C | GE | 12'225 |
| 64 | Aesch | 11 °C | BL | 11'327 |
| 65 | Binningen | 11 °C | BL | 16'245 |
| 66 | Reinach | 11 °C | BL | 21'003 |
| 67 | Pratteln | 11 °C | BL | 16'595 |
| 68 | Rheinfelden | 11 °C | AG | 14'034 |
| 69 | Brusino Arsizio | 11 °C | TI | 467 |
| 70 | Caslano | 11 °C | TI | 4'393 |
| 71 | Comano | 11 °C | TI | 2'194 |
| 72 | Magliaso | 11 °C | TI | 1'609 |
| 73 | Pura | 11 °C | TI | 1'368 |
| 74 | Vufflens-la-Ville | 11 °C | VD | 1'325 |
| 75 | Aclens | 11 °C | VD | 609 |
| 76 | Romanel-sur-Morges | 11 °C | VD | 463 |
| 77 | Founex | 11 °C | VD | 3'764 |
| 78 | Rolle | 11 °C | VD | 6'604 |
| 79 | Aire-la-Ville | 11 °C | GE | 1'161 |
| 80 | Avusy | 11 °C | GE | 1'425 |
| 81 | Bardonnex | 11 °C | GE | 2'528 |
| 82 | Bellevue | 11 °C | GE | 4'111 |
| 83 | Bernex | 11 °C | GE | 11'134 |
| 84 | Chêne-Bougeries | 11 °C | GE | 14'947 |
| 85 | Cologny | 11 °C | GE | 6'147 |
| 86 | Confignon | 11 °C | GE | 4'565 |
| 87 | Corsier | 11 °C | GE | 2'270 |
| 88 | Geneva | 11 °C | GE | 211'152 |
| 89 | Genthod | 11 °C | GE | 2'814 |
| 90 | Le Grand-Saconnex | 11 °C | GE | 12'775 |
| 91 | Pregny-Chambésy | 11 °C | GE | 4'249 |
| 92 | Bottmingen | 10.9 °C | BL | 7'007 |
| 93 | Füllinsdorf | 10.9 °C | BL | 4'804 |
| 94 | Giebenach | 10.9 °C | BL | 1'183 |
| 95 | Möhlin | 10.9 °C | AG | 11'351 |
| 96 | Tresa | 10.9 °C | TI | 3'147 |
| 97 | Lussery-Villars | 10.9 °C | VD | 469 |
| 98 | Orny | 10.9 °C | VD | 525 |
| 99 | Penthalaz | 10.9 °C | VD | 3'197 |
| 100 | Buchillon | 10.9 °C | VD | 681 |
1991–2020 · MeteoSwiss, retrieved 28.08.2026
How we measure this
MeteoSchweizMean annual air temperature from the MeteoSwiss 1 km gridded climate normals — a spatial analysis of the 1991–2020 normals period — read at the municipality's main settlement rather than interpolated from distant stations. The figure describes the inhabited valley floor, not the surrounding peaks.
Frequently asked questions
- Where does the temperature data come from?
- From the MeteoSwiss 1 km climate-normals grid ({year}), sampled at the main settlement. This is deliberately not the territorial average, which for Alpine municipalities is far colder because it takes in the high, glaciated terrain — Zermatt's village reads about 3.7 °C, its whole area about −3 °C.