
What a hotel night costs in Switzerland
Switzerland has a reputation for being expensive, and the averages you find online rarely say expensive where. This page puts 56 towns side by side on the same measure: what two adults actually pay for one room, one night, on dated samples in winter and in summer.
The short answer
Across the 56 towns measured here, the typical night falls at CHF 293. The spread is what matters: Sion sits at CHF 135 and Crans-Montana at CHF 690, so the town you pick moves the bill further than the week you pick. Prices are samples, not an average of the whole market.
By region
Averaged over its towns, one region is not far from the next. The interesting number is the spread inside each one, which is where the saving actually lives.
- Eastern SwitzerlandCHF 1984 towns · from CHF 165 to CHF 255
- Lake Geneva regionCHF 2186 towns · from CHF 210 to CHF 365
- TicinoCHF 2404 towns · from CHF 205 to CHF 275
- ValaisCHF 2859 towns · from CHF 135 to CHF 690
- Central SwitzerlandCHF 3057 towns · from CHF 170 to CHF 375
- GraubündenCHF 31011 towns · from CHF 210 to CHF 428
- Bernese OberlandCHF 37311 towns · from CHF 185 to CHF 480
Every town, cheapest first
Typical is the middle price among the hotels sampled in that town, so one palace hotel cannot pull the figure up on its own. From is the lowest single night found there.
| Town | Typical night | From | Winter | Summer | Hotels |
|---|---|---|---|---|---|
| Sion | CHF 135 | CHF 122 | CHF 130 | CHF 140 | 5 |
| Zinal | CHF 155 | CHF 134 | CHF 150 | CHF 160 | 3 |
| St. Gallen | CHF 165 | CHF 124 | CHF 173 | CHF 190 | 5 |
| Einsiedeln | CHF 170 | CHF 137 | CHF 175 | CHF 160 | 3 |
| Thun | CHF 185 | CHF 154 | CHF 170 | CHF 215 | 5 |
| Schaffhausen | CHF 188 | CHF 110 | CHF 185 | CHF 195 | 4 |
| Bellinzona | CHF 205 | CHF 147 | CHF 175 | CHF 208 | 5 |
| Brunnen | CHF 205 | CHF 175 | CHF 205 | CHF 205 | 3 |
| Stein am Rhein | CHF 208 | CHF 181 | Too few | CHF 215 | 4 |
| Kandersteg | CHF 210 | CHF 141 | CHF 205 | CHF 260 | 5 |
| Montreux | CHF 210 | CHF 112 | CHF 225 | CHF 180 | 5 |
| Chur | CHF 210 | CHF 147 | Too few | CHF 210 | 5 |
| Geneva | CHF 215 | CHF 121 | CHF 205 | CHF 225 | 5 |
| Vevey | CHF 215 | CHF 127 | CHF 215 | CHF 325 | 5 |
| Grächen | CHF 218 | CHF 204 | CHF 220 | Too few | 4 |
| Les Diablerets | CHF 220 | CHF 176 | CHF 225 | Too few | 5 |
| Locarno | CHF 225 | CHF 73 | CHF 195 | Too few | 5 |
| Bern | CHF 250 | CHF 164 | CHF 250 | CHF 250 | 7 |
| Appenzell | CHF 255 | CHF 209 | CHF 265 | CHF 255 | 3 |
| Ascona | CHF 255 | CHF 177 | CHF 210 | Too few | 4 |
| Leukerbad | CHF 258 | CHF 140 | CHF 263 | CHF 265 | 8 |
| Basel | CHF 270 | CHF 162 | CHF 280 | CHF 265 | 5 |
| Lausanne | CHF 273 | CHF 154 | CHF 248 | CHF 325 | 8 |
| Lugano | CHF 275 | CHF 144 | CHF 235 | CHF 290 | 6 |
| Meiringen | CHF 283 | CHF 213 | CHF 258 | CHF 295 | 4 |
| Klosters | CHF 285 | CHF 211 | CHF 328 | CHF 225 | 6 |
| Champery | CHF 285 | CHF 225 | CHF 285 | Too few | 5 |
| Weggis | CHF 290 | CHF 166 | CHF 255 | CHF 385 | 5 |
| Flims | CHF 295 | CHF 243 | CHF 295 | Too few | 3 |
| Davos | CHF 298 | CHF 181 | CHF 333 | CHF 250 | 6 |
| Saas-Fee (car-free) | CHF 303 | CHF 234 | Too few | CHF 235 | 4 |
| Lenk im Simmental | CHF 303 | CHF 137 | CHF 303 | Too few | 4 |
| Lucerne | CHF 305 | CHF 132 | CHF 268 | CHF 385 | 7 |
| Lenzerheide | CHF 305 | CHF 152 | Too few | CHF 275 | 4 |
| Spiez | CHF 305 | CHF 189 | CHF 280 | Too few | 3 |
| Laax | CHF 310 | CHF 200 | Too few | Too few | 3 |
| Engelberg | CHF 320 | CHF 166 | CHF 320 | CHF 310 | 5 |
| Pontresina | CHF 340 | CHF 187 | CHF 330 | CHF 290 | 7 |
| Andermatt | CHF 350 | CHF 250 | CHF 385 | CHF 280 | 5 |
| Villars-sur-Ollon | CHF 365 | CHF 188 | CHF 365 | CHF 353 | 7 |
| Scuol | CHF 370 | CHF 240 | CHF 360 | CHF 310 | 6 |
| Mürren (car-free) | CHF 373 | CHF 213 | CHF 325 | CHF 413 | 6 |
| Sils Maria | CHF 373 | CHF 273 | CHF 395 | Too few | 4 |
| Zug | CHF 375 | CHF 303 | CHF 375 | CHF 395 | 3 |
| Wengen (car-free) | CHF 380 | CHF 202 | CHF 373 | CHF 400 | 9 |
| Arosa | CHF 385 | CHF 217 | CHF 585 | CHF 385 | 5 |
| Adelboden | CHF 393 | CHF 246 | CHF 398 | Too few | 4 |
| Grindelwald | CHF 398 | CHF 255 | CHF 323 | CHF 473 | 4 |
| Neuchatel | CHF 420 | CHF 253 | CHF 260 | CHF 460 | 3 |
| Gstaad | CHF 423 | CHF 260 | CHF 515 | CHF 365 | 6 |
| St. Moritz | CHF 428 | CHF 149 | CHF 560 | CHF 420 | 6 |
| Zermatt (car-free) | CHF 445 | CHF 180 | CHF 490 | CHF 445 | 7 |
| Interlaken | CHF 480 | CHF 248 | Too few | CHF 480 | 4 |
| Zurich | CHF 565 | CHF 301 | CHF 533 | CHF 628 | 4 |
| Verbier | CHF 565 | CHF 307 | CHF 565 | Too few | 5 |
| Crans-Montana | CHF 690 | CHF 159 | CHF 735 | Too few | 7 |
Winter or summer, depending on the town
There is no Swiss high season, only local ones pointing in opposite directions. The steepest winter premium here belongs to Arosa, 52% above its own summer rate, and the top of that list is ski resorts. The steepest move the other way belongs to Neuchatel, 43% dearer in summer, and that list opens with the lake towns. Between the two ends most places shift by a few percent either way, so the season decides less than the town.
Dearer in winter
- ArosaCHF 585 / CHF 385+52%
- KlostersCHF 328 / CHF 225+46%
- GstaadCHF 515 / CHF 365+41%
- AndermattCHF 385 / CHF 280+38%
- DavosCHF 333 / CHF 250+33%
- St. MoritzCHF 560 / CHF 420+33%
- MontreuxCHF 225 / CHF 180+25%
- ScuolCHF 360 / CHF 310+16%
- PontresinaCHF 330 / CHF 290+14%
- ZermattCHF 490 / CHF 445+10%
- EinsiedelnCHF 175 / CHF 160+9%
- BaselCHF 280 / CHF 265+6%
- AppenzellCHF 265 / CHF 255+4%
- EngelbergCHF 320 / CHF 310+3%
- Villars-sur-OllonCHF 365 / CHF 353+3%
Dearer in summer
- NeuchatelCHF 260 / CHF 460-43%
- WeggisCHF 255 / CHF 385-34%
- VeveyCHF 215 / CHF 325-34%
- GrindelwaldCHF 323 / CHF 473-32%
- LucerneCHF 268 / CHF 385-30%
- LausanneCHF 248 / CHF 325-24%
- MürrenCHF 325 / CHF 413-21%
- KanderstegCHF 205 / CHF 260-21%
- ThunCHF 170 / CHF 215-21%
- LuganoCHF 235 / CHF 290-19%
- BellinzonaCHF 175 / CHF 208-16%
- ZurichCHF 533 / CHF 628-15%
- MeiringenCHF 258 / CHF 295-13%
- GenevaCHF 205 / CHF 225-9%
- St. GallenCHF 173 / CHF 190-9%
- WengenCHF 373 / CHF 400-7%
- SionCHF 130 / CHF 140-7%
- ZinalCHF 150 / CHF 160-6%
- ZugCHF 375 / CHF 395-5%
- SchaffhausenCHF 185 / CHF 195-5%
- LeukerbadCHF 263 / CHF 265-1%
Only the 38 towns with enough hotels priced in both seasons appear here.
Sleep next door and save
The expensive resorts sit beside cheaper ones. Each pair below is a town and a neighbour already listed on its guide page, meaning a swap the trip survives, not simply the nearest dot on a map.
- Instead of Crans-Montana · CHF 690
- Instead of Zurich · CHF 565
- Instead of Zug · CHF 375
- Instead of Verbier · CHF 565
- Instead of Champery · CHF 285
- Instead of Zermatt · CHF 445
- Instead of Gstaad · CHF 423
- Instead of Adelboden · CHF 393
- Instead of Arosa · CHF 385
- Instead of Villars-sur-Ollon · CHF 365
- Instead of Andermatt · CHF 350
- Instead of Neuchatel · CHF 420
- Instead of Spiez · CHF 305
- Instead of Appenzell · CHF 255
- Instead of Meiringen · CHF 283
- Instead of Laax · CHF 310
- Instead of Lenk im Simmental · CHF 303
- Instead of Lenzerheide · CHF 305
- Instead of St. Moritz · CHF 428
- Instead of Weggis · CHF 290
- Instead of Flims · CHF 295
- Instead of Saas-Fee · CHF 303
- Instead of Klosters · CHF 285
- Instead of Lugano · CHF 275
A cheaper base costs time instead of money: you pay for the journey and you lose the early start. It is worth it for a long stay, rarely for two nights.
How these prices were gathered
Between 15 September 2026 and 21 September 2026 we read 687 dated prices for 299 hotels across 56 towns on Booking.com, always for two adults, one room, one night. Winter figures come from 18 December 2026, 20 January 2027 and 17 February 2027, summer figures from 23 June 2027, 21 July 2027 and 8 September 2027. A town needs 3 hotels priced for a column before that column is filled in, which is why some cells are empty.
Read them as a comparison between towns, not as a quote. They cover the hotels we track in each place rather than its whole market, they are a snapshot of the day they were read, and your own dates, room and cancellation terms will land somewhere else.
Questions about Swiss hotel prices
How much is a hotel night in Switzerland?
Across the 56 towns measured here, the middle figure is CHF 293 for two adults in one room. Below CHF 200 you are in the smaller towns and the valley bases, above CHF 400 you are in the famous resorts and in Zurich.
Is Switzerland cheaper in winter or in summer?
It depends entirely on where you sleep. In this sample the ski resorts cost more between December and February, while the lake towns and the cities cost more in summer. Picking the season without picking the town first tells you nothing.
Which is the cheapest base for a Swiss trip?
Of the towns here, Sion is the lowest at CHF 135. More useful than the outright cheapest is the cheaper neighbour: several of the famous resorts sit beside a town that costs a third less for the same region.
Why do these figures differ from what I see on Booking.com?
Because they are fixed samples. Each one was read on a set date for two adults, one room, one night, between 15 September 2026 and 21 September 2026. Swiss hotel prices move with the day of the week, the snow and the events calendar, so treat the table as a ranking of towns and check your own dates for the real number.
Which Swiss region is the cheapest to sleep in?
Among the regions with enough towns to compare, Eastern Switzerland comes out lowest at CHF 198 and Bernese Oberland highest at CHF 373. The gap inside a region is wider than the gap between regions, so the region is a starting point and the town is the decision.
Know your budget? Find the town that fits it.
Prices and availability change daily in the Alps, especially in July, August and over Christmas.