The greatest solar potential in Switzerland
Swiss municipality rankings →Zurich (ZH) has the greatest solar-energy potential in Switzerland: its roofs could generate about 1'133 GWh of electricity a year. Next come Bern (561 GWh) and Basel (546 GWh). Because this is modelled roof potential, the large cities with the most roof area lead — it is not what these municipalities generate today. Source: BFE.
Top 100
BFE · 2025| Rank | Municipality | Roof potential | Canton | Residents |
|---|---|---|---|---|
| 1 | Zurich | 1'133 GWh | ZH | 433'989 |
| 2 | Bern | 561 GWh | BE | 136'988 |
| 3 | Basel | 546 GWh | BS | 176'329 |
| 4 | Winterthur | 466 GWh | ZH | 119'315 |
| 5 | Lausanne | 434 GWh | VD | 144'160 |
| 6 | Geneva | 420 GWh | GE | 206'635 |
| 7 | Lugano | 364 GWh | TI | 63'495 |
| 8 | Bellinzona | 358 GWh | TI | 44'743 |
| 9 | St. Gallen | 323 GWh | SG | 78'213 |
| 10 | Sion | 263 GWh | VS | 36'624 |
| 11 | Thun | 260 GWh | BE | 43'905 |
| 12 | Biel/Bienne | 254 GWh | BE | 55'932 |
| 13 | Lucerne | 253 GWh | LU | 85'534 |
| 14 | Schaffhausen | 219 GWh | SH | 38'666 |
| 15 | Köniz | 212 GWh | BE | 42'958 |
| 16 | La Chaux-de-Fonds | 202 GWh | NE | 37'233 |
| 17 | Chur | 191 GWh | GR | 38'949 |
| 18 | Frauenfeld | 191 GWh | TG | 26'747 |
| 19 | Mendrisio | 186 GWh | TI | 15'068 |
| 20 | Neuchâtel | 186 GWh | NE | 44'898 |
| 21 | Emmen | 177 GWh | LU | 32'380 |
| 22 | Bulle FR | 167 GWh | FR | 26'749 |
| 23 | Val de Bagnes | 167 GWh | VS | 10'814 |
| 24 | Yverdon-les-Bains | 166 GWh | VD | 30'202 |
| 25 | Martigny-Bourg | 161 GWh | VS | 21'759 |
| 26 | Wil | 157 GWh | SG | 24'980 |
| 27 | Sierre | 157 GWh | VS | 17'663 |
| 28 | Uster | 155 GWh | ZH | 36'352 |
| 29 | Val-de-Ruz | 154 GWh | NE | 17'499 |
| 30 | Kloten | 150 GWh | ZH | 21'257 |
| 31 | Meyrin | 149 GWh | GE | 26'882 |
| 32 | Gossau | 147 GWh | SG | 18'454 |
| 33 | Glarus Nord | 147 GWh | GL | 19'639 |
| 34 | Rapperswil-Jona | 146 GWh | SG | 28'640 |
| 35 | Vernier | 146 GWh | GE | 37'460 |
| 36 | Langenthal | 144 GWh | BE | 16'077 |
| 37 | Saanen | 139 GWh | BE | 6'962 |
| 38 | Fribourg | 137 GWh | FR | 38'660 |
| 39 | Crans-Montana | 137 GWh | VS | 10'488 |
| 40 | Davos | 134 GWh | GR | 10'800 |
| 41 | Burgdorf | 133 GWh | BE | 17'119 |
| 42 | Baar | 132 GWh | ZG | 24'973 |
| 43 | Val-de-Travers | 128 GWh | NE | 10'649 |
| 44 | Altstätten | 127 GWh | SG | 12'456 |
| 45 | Einsiedeln | 126 GWh | SZ | 16'464 |
| 46 | Wetzikon | 125 GWh | ZH | 26'462 |
| 47 | Dübendorf | 124 GWh | ZH | 31'506 |
| 48 | Pratteln | 124 GWh | BL | 16'566 |
| 49 | Oberriet | 124 GWh | SG | 9'291 |
| 50 | Aarau | 123 GWh | AG | 22'290 |
| 51 | Lyss | 121 GWh | BE | 16'406 |
| 52 | Wädenswil | 121 GWh | ZH | 25'753 |
| 53 | Kreuzlingen | 120 GWh | TG | 23'241 |
| 54 | Zug | 120 GWh | ZG | 31'995 |
| 55 | Baden | 118 GWh | AG | 23'587 |
| 56 | Locarno | 117 GWh | TI | 16'394 |
| 57 | Schwyz | 116 GWh | SZ | 16'181 |
| 58 | Regensdorf | 116 GWh | ZH | 19'676 |
| 59 | Grenchen | 115 GWh | SO | 18'295 |
| 60 | Muttenz | 115 GWh | BL | 18'234 |
| 61 | Hinwil | 114 GWh | ZH | 11'832 |
| 62 | Weinfelden | 114 GWh | TG | 12'233 |
| 63 | Conthey | 112 GWh | VS | 9'073 |
| 64 | Dietikon | 111 GWh | ZH | 28'201 |
| 65 | Volketswil | 110 GWh | ZH | 19'723 |
| 66 | Monthey | 109 GWh | VS | 18'886 |
| 67 | Wohlen | 108 GWh | AG | 17'481 |
| 68 | Kriens | 108 GWh | LU | 29'632 |
| 69 | Glarus Süd | 107 GWh | GL | 9'659 |
| 70 | Amriswil | 107 GWh | TG | 14'643 |
| 71 | Delémont | 107 GWh | JU | 12'739 |
| 72 | Oftringen | 107 GWh | AG | 15'080 |
| 73 | Lancy | 106 GWh | GE | 36'229 |
| 74 | Willisau | 105 GWh | LU | 9'149 |
| 75 | Olten | 105 GWh | SO | 18'715 |
| 76 | Nendaz | 103 GWh | VS | 7'196 |
| 77 | Aigle | 102 GWh | VD | 11'412 |
| 78 | Estavayer | 102 GWh | FR | 10'296 |
| 79 | Le Châtelard | 101 GWh | VD | 26'828 |
| 80 | Ecublens | 101 GWh | VD | 13'320 |
| 81 | Ollon | 100 GWh | VD | 8'159 |
| 82 | Steffisburg | 100 GWh | BE | 16'467 |
| 83 | Möhlin | 100 GWh | AG | 11'349 |
| 84 | Satigny | 100 GWh | GE | 4'577 |
| 85 | Brig-Glis | 100 GWh | VS | 13'976 |
| 86 | Payerne | 100 GWh | VD | 10'545 |
| 87 | Eschenbach | 97 GWh | SG | 10'169 |
| 88 | Stabio | 97 GWh | TI | 4'485 |
| 89 | Solothurn | 96 GWh | SO | 16'855 |
| 90 | Arbon | 95 GWh | TG | 15'853 |
| 91 | Murten | 95 GWh | FR | 9'531 |
| 92 | Sarnen | 95 GWh | OW | 10'742 |
| 93 | Illnau-Effretikon | 95 GWh | ZH | 17'679 |
| 94 | Bülach | 94 GWh | ZH | 24'186 |
| 95 | Uzwil | 94 GWh | SG | 14'279 |
| 96 | Tafers | 93 GWh | FR | 7'900 |
| 97 | Plan-les-Ouates | 93 GWh | GE | 12'221 |
| 98 | Liestal | 93 GWh | BL | 15'834 |
| 99 | Reinach | 92 GWh | BL | 20'258 |
| 100 | Kirchberg | 92 GWh | SG | 9'755 |
How we measure this
BFEModelled annual electricity that rooftop photovoltaics could produce across the whole municipality, in gigawatt-hours per year, from the BFE «Solarenergiepotenziale der Schweizer Gemeinden» model (2025 snapshot). It is a potential, not installed capacity or actual generation, and it scales with roof area — so large towns lead simply because they have more roofs. It is a rolling model snapshot, not an annual survey. The companion roofs-plus-façades scenario adds vertical surfaces.
Frequently asked questions
- Does this mean the municipality actually produces this much solar power?
- No. It is the modelled potential of the available roof surfaces — the electricity they could generate if fully used. Actual installed photovoltaics produce far less. The figure comes from the BFE solar model and scales with how much roof area a municipality has.