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 | 440'935 |
| 2 | Bern | 561 GWh | BE | 138'562 |
| 3 | Basel | 546 GWh | BS | 180'097 |
| 4 | Winterthur | 466 GWh | ZH | 120'741 |
| 5 | Lausanne | 434 GWh | VD | 145'596 |
| 6 | Geneva | 420 GWh | GE | 211'152 |
| 7 | Lugano | 364 GWh | TI | 63'691 |
| 8 | Bellinzona | 358 GWh | TI | 45'828 |
| 9 | St. Gallen | 323 GWh | SG | 79'487 |
| 10 | Sion | 263 GWh | VS | 37'844 |
| 11 | Thun | 260 GWh | BE | 44'163 |
| 12 | Biel/Bienne | 254 GWh | BE | 57'462 |
| 13 | Lucerne | 253 GWh | LU | 86'699 |
| 14 | Schaffhausen | 219 GWh | SH | 39'228 |
| 15 | Köniz | 212 GWh | BE | 43'923 |
| 16 | La Chaux-de-Fonds | 202 GWh | NE | 37'858 |
| 17 | Chur | 191 GWh | GR | 39'753 |
| 18 | Frauenfeld | 191 GWh | TG | 27'201 |
| 19 | Mendrisio | 186 GWh | TI | 15'076 |
| 20 | Neuchâtel | 186 GWh | NE | 45'466 |
| 21 | Emmen | 177 GWh | LU | 32'777 |
| 22 | Bulle FR | 167 GWh | FR | 27'276 |
| 23 | Val de Bagnes | 167 GWh | VS | 11'044 |
| 24 | Yverdon-les-Bains | 166 GWh | VD | 30'590 |
| 25 | Martigny-Bourg | 161 GWh | VS | 22'513 |
| 26 | Wil | 157 GWh | SG | 25'444 |
| 27 | Sierre | 157 GWh | VS | 18'059 |
| 28 | Uster | 155 GWh | ZH | 37'031 |
| 29 | Val-de-Ruz | 154 GWh | NE | 17'543 |
| 30 | Kloten | 150 GWh | ZH | 22'017 |
| 31 | Meyrin | 149 GWh | GE | 27'380 |
| 32 | Gossau | 147 GWh | SG | 18'943 |
| 33 | Glarus Nord | 147 GWh | GL | 19'849 |
| 34 | Rapperswil-Jona | 146 GWh | SG | 28'836 |
| 35 | Vernier | 146 GWh | GE | 38'769 |
| 36 | Langenthal | 144 GWh | BE | 16'233 |
| 37 | Saanen | 139 GWh | BE | 6'967 |
| 38 | Fribourg | 137 GWh | FR | 39'599 |
| 39 | Crans-Montana | 137 GWh | VS | 10'782 |
| 40 | Davos | 134 GWh | GR | 10'738 |
| 41 | Burgdorf | 133 GWh | BE | 17'577 |
| 42 | Baar | 132 GWh | ZG | 25'519 |
| 43 | Val-de-Travers | 128 GWh | NE | 10'710 |
| 44 | Altstätten | 127 GWh | SG | 12'788 |
| 45 | Einsiedeln | 126 GWh | SZ | 16'667 |
| 46 | Wetzikon | 125 GWh | ZH | 27'317 |
| 47 | Dübendorf | 124 GWh | ZH | 33'214 |
| 48 | Pratteln | 124 GWh | BL | 16'595 |
| 49 | Oberriet | 124 GWh | SG | 9'417 |
| 50 | Aarau | 123 GWh | AG | 22'932 |
| 51 | Lyss | 121 GWh | BE | 16'613 |
| 52 | Wädenswil | 121 GWh | ZH | 26'012 |
| 53 | Kreuzlingen | 120 GWh | TG | 23'550 |
| 54 | Zug | 120 GWh | ZG | 32'160 |
| 55 | Baden | 118 GWh | AG | 24'012 |
| 56 | Locarno | 117 GWh | TI | 16'463 |
| 57 | Schwyz | 116 GWh | SZ | 16'735 |
| 58 | Regensdorf | 116 GWh | ZH | 20'701 |
| 59 | Grenchen | 115 GWh | SO | 18'973 |
| 60 | Muttenz | 115 GWh | BL | 18'308 |
| 61 | Hinwil | 114 GWh | ZH | 11'949 |
| 62 | Weinfelden | 114 GWh | TG | 12'652 |
| 63 | Conthey | 112 GWh | VS | 9'661 |
| 64 | Dietikon | 111 GWh | ZH | 28'325 |
| 65 | Volketswil | 110 GWh | ZH | 19'948 |
| 66 | Monthey | 109 GWh | VS | 19'351 |
| 67 | Wohlen | 108 GWh | AG | 18'162 |
| 68 | Kriens | 108 GWh | LU | 30'685 |
| 69 | Glarus Süd | 107 GWh | GL | 9'634 |
| 70 | Amriswil | 107 GWh | TG | 15'225 |
| 71 | Delémont | 107 GWh | JU | 12'991 |
| 72 | Oftringen | 107 GWh | AG | 15'198 |
| 73 | Lancy | 106 GWh | GE | 37'520 |
| 74 | Willisau | 105 GWh | LU | 9'297 |
| 75 | Olten | 105 GWh | SO | 19'265 |
| 76 | Nendaz | 103 GWh | VS | 7'354 |
| 77 | Aigle | 102 GWh | VD | 12'050 |
| 78 | Estavayer | 102 GWh | FR | 10'812 |
| 79 | Le Châtelard | 101 GWh | VD | 27'182 |
| 80 | Ecublens | 101 GWh | VD | 13'747 |
| 81 | Ollon | 100 GWh | VD | 8'297 |
| 82 | Steffisburg | 100 GWh | BE | 16'599 |
| 83 | Möhlin | 100 GWh | AG | 11'351 |
| 84 | Satigny | 100 GWh | GE | 4'811 |
| 85 | Brig-Glis | 100 GWh | VS | 14'197 |
| 86 | Payerne | 100 GWh | VD | 10'938 |
| 87 | Eschenbach | 97 GWh | SG | 10'401 |
| 88 | Stabio | 97 GWh | TI | 4'518 |
| 89 | Solothurn | 96 GWh | SO | 16'830 |
| 90 | Arbon | 95 GWh | TG | 16'407 |
| 91 | Murten | 95 GWh | FR | 9'525 |
| 92 | Sarnen | 95 GWh | OW | 10'906 |
| 93 | Illnau-Effretikon | 95 GWh | ZH | 17'973 |
| 94 | Bülach | 94 GWh | ZH | 24'590 |
| 95 | Uzwil | 94 GWh | SG | 14'676 |
| 96 | Tafers | 93 GWh | FR | 8'030 |
| 97 | Plan-les-Ouates | 93 GWh | GE | 12'644 |
| 98 | Liestal | 93 GWh | BL | 16'081 |
| 99 | Reinach | 92 GWh | BL | 21'003 |
| 100 | Kirchberg | 92 GWh | SG | 9'879 |
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.