When to go · Switzerland
Switzerland in December
Good month. Christmas markets (Basel, Zurich, Montreux) and ski season from mid-month; Christmas–New Year is the most expensive week.
Key facts
- Verdict
- Good
- Crowds
- High
- Switzerland
- Prices
- High
- Switzerland
Verdict
Christmas markets (Basel, Zurich, Montreux) and ski season from mid-month; Christmas–New Year is the most expensive week.
Is another month better than December?
December is rated good. These months rate higher:
- JuneGreatLifts reopen; wildflowers; high trails may still have snow until July. Art Basel mid-month.
- JulyGreatPeak hiking and lake swimming; Montreux Jazz Festival; book scenic trains and Zermatt early.
- AugustGreatNational Day on 1 August; Locarno Film Festival; river swimming in Bern, Basel and Zurich.
- SeptemberGreatClear, stable weather and fewer crowds; the best hiking month. Cattle come down from the pastures.
Weather in December
- Plateau cities · Zurich, Bern, Basel, Lucernecool
Fog (Hochnebel) can sit over the Plateau for days in November–February while the mountains are sunny — take a train up.
- Bernese and central Alps · Interlaken, Grindelwald, Lauterbrunnen, Engelbergbest weather
Skiing late December to early April ('best' in winter means snow); hiking late June to early October. Afternoon storms in July–August.
- Valais and Engadin · Zermatt, Saas-Fee, Verbier, St Moritzbest weather
The sunniest and driest Alpine valleys; high resorts keep snow into April. Lifts close in May and November.
- Lake Geneva · Geneva, Lausanne, Montreux, Lavauxcool
Mild; the bise wind makes winter days raw. Grape harvest in Lavaux late September–October.
- Ticino · Lugano, Locarno, Bellinzonacool
Warmest region with palm trees; heavy rain possible in autumn. The Gotthard base tunnel puts it 2 h from Zurich.
- Bern Region: Bern / Solothurn / Biel · Mittelland plateau, 430–550 mcold
Plateau summers reach 30 °C (86 °F)+; winter often sits near 0 °C (32 °F) with fog that clears above about 800 m. Rain falls year-round — pack a shell.Plateau summers reach 86 °F (30 °C)+; winter often sits near 32 °F (0 °C) with fog that clears above about 800 m. Rain falls year-round — pack a shell.
- Bernese Highlands: Valley floors (Interlaken, Lauterbrunnen) · 550–800 mcold
Rain falls year-round; June–August afternoons can reach 30 °C (86 °F).Rain falls year-round; June–August afternoons can reach 86 °F (30 °C).
- Bernese Highlands: High villages and lifts (Wengen, Mürren, Jungfraujoch) · 1,000–3,500 msnow
Snow above about 2,000 m from November to May; the Jungfraujoch is below freezing most of the year.
- Central Switzerland: Lucerne and the lake · Vierwaldstättersee shore, 430–500 mcold
Lake-effect cloud and afternoon thunderstorms in July–August; Föhn winds can push spring temperatures up fast.
- Central Switzerland: Engelberg and Titlis · 1,000–3,000 msnow
Snow on the glacier year-round; the village sees reliable snow December–March.
- Eastern Switzerland: Lake Constance shore (Romanshorn, Stein am Rhein) · lake level, 400 mcold
Mild and often foggy in November–January; summer thunderstorms build in the afternoon.
- Eastern Switzerland: Appenzell and Glarus hills · 700–1,200 mcold
Higher and wetter than the lake; snow can sit on the upper trails into April.
- Graubünden: Chur / Rhine valley · Canton capital and the Vorderrhein and Hinterrhein valleyscold
Lowest and mildest part of the canton; valley heat in July–August, snow rare on the floor.
- Graubünden: Engadin / St. Moritz · High valley in the south-east, 1,800 m and upcold
High and dry; cold nights even in summer, reliable snow December–March, long sunny days.
- Graubünden: Davos / Prättigau · North-east valleyscold
Ski season December–April; summer hiking from June; afternoon storms in July–August.
- Northwestern Switzerland: Basel and the Rhine valley · city and river plaincool
Warmest corner of Switzerland in summer, with 30 °C (86 °F)+ days in July–August; rain spread through the year. The Jura foothills above Liestal run a few degrees cooler and can hold snow into spring.Warmest corner of Switzerland in summer, with 86 °F (30 °C)+ days in July–August; rain spread through the year. The Jura foothills above Liestal run a few degrees cooler and can hold snow into spring.
- Ticino: Lakes (Lugano, Locarno, Ascona) · Lake Lugano and Lake Maggiore shorescool
Mildest part of Switzerland; April–June and September–October are the sweet spots. August is hot and busy, especially around the Locarno film festival.
- Ticino: Valleys and mountains (Verzasca, Maggia, Monte San Giorgio) · Inland valleys and higher groundcold
Higher trails open roughly May–October; snow and closed passes in winter.
- Valais: Rhone valley (Sion) · Valley floor, about 480 mcool
One of the driest, sunniest parts of Switzerland; summer can hit 35 °C (95 °F), and long dry spells bring forest fires every few years.One of the driest, sunniest parts of Switzerland; summer can hit 95 °F (35 °C), and long dry spells bring forest fires every few years.
- Valais: High resorts and passes · Zermatt, Saas-Fee, Great St Bernardsnow
Snow from November to April; the Great St Bernard Pass sits near 2,470 m and is a winter route by ski or helicopter only.
- Western Switzerland: Lake Geneva shore (Geneva, Lausanne, Montreux) · Lakeside plateau, 370–400 mcool
Mild and the driest part of the region; lake breezes temper July heat. Vineyard terraces are best walked April–October.
- Western Switzerland: Jura (La Chaux-de-Fonds, Le Locle, Delémont) · Jura mountains, 700–1,100 mcold
About 5 °C (9 °F) cooler than the lakeshore and snowbound December–March; watch-town visits work year-round but winter days are short.About 9 °F (5 °C) cooler than the lakeshore and snowbound December–March; watch-town visits work year-round but winter days are short.
- Western Switzerland: Fribourg Alps (Gruyères, Château-d'Œx) · Pre-Alps, 750–1,500 mcold
Hiking June–September; ski stations in the Vaud Alps run December–March.
- Zurich Region: Zurich city and lake · Canton of Zurich, lake basincold
Lake swimming peaks July–August; foehn winds can push winter days above 10 °C (50 °F), then drop back below freezing.Lake swimming peaks July–August; foehn winds can push winter days above 50 °F (10 °C), then drop back below freezing.
- Zurich Region: Aargau and Zug lowlands · Aare and Zug lake valleyscold
Slightly warmer and less windy than the city; similar rain pattern.
- Geneva5 °C (41 °F) / 1 °C (34 °F), 10 rain days41 °F (5 °C) / 34 °F (1 °C), 10 rain days
- Aarau3 °C (37 °F) / -1 °C (30 °F), 8 rain days37 °F (3 °C) / 30 °F (-1 °C), 8 rain days
- Albinen-1 °C (30 °F) / -6 °C (21 °F), 7 rain days30 °F (-1 °C) / 21 °F (-6 °C), 7 rain days
- Andermatt-1 °C (30 °F) / -7 °C (19 °F), 5 rain days30 °F (-1 °C) / 19 °F (-7 °C), 5 rain days
- Appenzell3 °C (37 °F) / -2 °C (28 °F), 8 rain days37 °F (3 °C) / 28 °F (-2 °C), 8 rain days
- Arosa0 °C (32 °F) / -6 °C (21 °F), 7 rain days32 °F (0 °C) / 21 °F (-6 °C), 7 rain days
- Ascona8 °C (46 °F) / 2 °C (36 °F), 5 rain days46 °F (8 °C) / 36 °F (2 °C), 5 rain days
- Avenches4 °C (39 °F) / -1 °C (30 °F), 7 rain days39 °F (4 °C) / 30 °F (-1 °C), 7 rain days
- Baden5 °C (41 °F) / 0 °C (32 °F), 10 rain days41 °F (5 °C) / 32 °F (0 °C), 10 rain days
- Basel6 °C (43 °F) / 1 °C (34 °F), 11 rain days43 °F (6 °C) / 34 °F (1 °C), 11 rain days
- Bellinzona7 °C (45 °F) / 0 °C (32 °F), 6 rain days45 °F (7 °C) / 32 °F (0 °C), 6 rain days
- Bern4 °C (39 °F) / -2 °C (28 °F), 10 rain days39 °F (4 °C) / 28 °F (-2 °C), 10 rain days
- Biel4 °C (39 °F) / -1 °C (30 °F), 10 rain days39 °F (4 °C) / 30 °F (-1 °C), 10 rain days
- Brig3 °C (37 °F) / -3 °C (27 °F), 8 rain days37 °F (3 °C) / 27 °F (-3 °C), 8 rain days
- Brugg4 °C (39 °F) / -1 °C (30 °F), 8 rain days39 °F (4 °C) / 30 °F (-1 °C), 8 rain days
- Brunnen3 °C (37 °F) / -1 °C (30 °F), 9 rain days37 °F (3 °C) / 30 °F (-1 °C), 9 rain days
- Château-d'Œx3 °C (37 °F) / -4 °C (25 °F), 10 rain days37 °F (3 °C) / 25 °F (-4 °C), 10 rain days
- Chur5 °C (41 °F) / -2 °C (28 °F), 9 rain days41 °F (5 °C) / 28 °F (-2 °C), 9 rain days
- Crans-Montana-2 °C (28 °F) / -7 °C (19 °F), 6 rain days28 °F (-2 °C) / 19 °F (-7 °C), 6 rain days
- Davos1 °C (34 °F) / -6 °C (21 °F), 9 rain days34 °F (1 °C) / 21 °F (-6 °C), 9 rain days
- Delémont5 °C (41 °F) / -1 °C (30 °F), 10 rain days41 °F (5 °C) / 30 °F (-1 °C), 10 rain days
- Disentis3 °C (37 °F) / -4 °C (25 °F), 5 rain days37 °F (3 °C) / 25 °F (-4 °C), 5 rain days
- Engelberg1 °C (34 °F) / -4 °C (25 °F), 9 rain days34 °F (1 °C) / 25 °F (-4 °C), 9 rain days
- Falera0 °C (32 °F) / -6 °C (21 °F), 9 rain days32 °F (0 °C) / 21 °F (-6 °C), 9 rain days
- Fiesch3 °C (37 °F) / -4 °C (25 °F), 8 rain days37 °F (3 °C) / 25 °F (-4 °C), 8 rain days
- Flims3 °C (37 °F) / -4 °C (25 °F), 8 rain days37 °F (3 °C) / 25 °F (-4 °C), 8 rain days
- Flüelen3 °C (37 °F) / -2 °C (28 °F), 10 rain days37 °F (3 °C) / 28 °F (-2 °C), 10 rain days
- Fribourg4 °C (39 °F) / -2 °C (28 °F), 10 rain days39 °F (4 °C) / 28 °F (-2 °C), 10 rain days
- Frutigen3 °C (37 °F) / -2 °C (28 °F), 9 rain days37 °F (3 °C) / 28 °F (-2 °C), 9 rain days
- Gimmelwald2 °C (36 °F) / -5 °C (23 °F), 11 rain days36 °F (2 °C) / 23 °F (-5 °C), 11 rain days
- Glarus4 °C (39 °F) / -2 °C (28 °F), 7 rain days39 °F (4 °C) / 28 °F (-2 °C), 7 rain days
- Goldau3 °C (37 °F) / -2 °C (28 °F), 8 rain days37 °F (3 °C) / 28 °F (-2 °C), 8 rain days
- Grindelwald2 °C (36 °F) / -5 °C (23 °F), 11 rain days36 °F (2 °C) / 23 °F (-5 °C), 11 rain days
- Gruyères5 °C (41 °F) / -1 °C (30 °F), 10 rain days41 °F (5 °C) / 30 °F (-1 °C), 10 rain days
- Gstaad3 °C (37 °F) / -4 °C (25 °F), 9 rain days37 °F (3 °C) / 25 °F (-4 °C), 9 rain days
- Hermance6 °C (43 °F) / 0 °C (32 °F), 7 rain days43 °F (6 °C) / 32 °F (0 °C), 7 rain days
- Horgen4 °C (39 °F) / -1 °C (30 °F), 11 rain days39 °F (4 °C) / 30 °F (-1 °C), 11 rain days
- Ilanz3 °C (37 °F) / -4 °C (25 °F), 9 rain days37 °F (3 °C) / 25 °F (-4 °C), 9 rain days
- Interlaken4 °C (39 °F) / -2 °C (28 °F), 10 rain days39 °F (4 °C) / 28 °F (-2 °C), 10 rain days
- Kandersteg2 °C (36 °F) / -6 °C (21 °F), 11 rain days36 °F (2 °C) / 21 °F (-6 °C), 11 rain days
- Klosters2 °C (36 °F) / -5 °C (23 °F), 11 rain days36 °F (2 °C) / 23 °F (-5 °C), 11 rain days
- Küssnacht4 °C (39 °F) / -1 °C (30 °F), 10 rain days39 °F (4 °C) / 30 °F (-1 °C), 10 rain days
- La Chaux-de-Fonds5 °C (41 °F) / -1 °C (30 °F), 7 rain days41 °F (5 °C) / 30 °F (-1 °C), 7 rain days
- Laax3 °C (37 °F) / -5 °C (23 °F), 9 rain days37 °F (3 °C) / 23 °F (-5 °C), 9 rain days
- Lausanne5 °C (41 °F) / 0 °C (32 °F), 10 rain days41 °F (5 °C) / 32 °F (0 °C), 10 rain days
- Lauterbrunnen2 °C (36 °F) / -5 °C (23 °F), 11 rain days36 °F (2 °C) / 23 °F (-5 °C), 11 rain days
- Le Locle4 °C (39 °F) / -1 °C (30 °F), 9 rain days39 °F (4 °C) / 30 °F (-1 °C), 9 rain days
- Lenzerheide2 °C (36 °F) / -6 °C (21 °F), 8 rain days36 °F (2 °C) / 21 °F (-6 °C), 8 rain days
- Les Diablerets6 °C (43 °F) / -2 °C (28 °F), 6 rain days43 °F (6 °C) / 28 °F (-2 °C), 6 rain days
- Leukerbad3 °C (37 °F) / -4 °C (25 °F), 7 rain days37 °F (3 °C) / 25 °F (-4 °C), 7 rain days
- Leysin2 °C (36 °F) / -5 °C (23 °F), 10 rain days36 °F (2 °C) / 23 °F (-5 °C), 10 rain days
- Liestal5 °C (41 °F) / -1 °C (30 °F), 11 rain days41 °F (5 °C) / 30 °F (-1 °C), 11 rain days
- Locarno8 °C (46 °F) / 1 °C (34 °F), 7 rain days46 °F (8 °C) / 34 °F (1 °C), 7 rain days
- Lucens4 °C (39 °F) / -1 °C (30 °F), 7 rain days39 °F (4 °C) / 30 °F (-1 °C), 7 rain days
- Lucerne5 °C (41 °F) / -1 °C (30 °F), 11 rain days41 °F (5 °C) / 30 °F (-1 °C), 11 rain days
- Lugano8 °C (46 °F) / 2 °C (36 °F), 7 rain days46 °F (8 °C) / 36 °F (2 °C), 7 rain days
- Martigny4 °C (39 °F) / -2 °C (28 °F), 8 rain days39 °F (4 °C) / 28 °F (-2 °C), 8 rain days
- Meiringen3 °C (37 °F) / -3 °C (27 °F), 10 rain days37 °F (3 °C) / 27 °F (-3 °C), 10 rain days
- Montreux5 °C (41 °F) / 0 °C (32 °F), 10 rain days41 °F (5 °C) / 32 °F (0 °C), 10 rain days
- Mürren2 °C (36 °F) / -5 °C (23 °F), 9 rain days36 °F (2 °C) / 23 °F (-5 °C), 9 rain days
- Murten4 °C (39 °F) / -1 °C (30 °F), 9 rain days39 °F (4 °C) / 30 °F (-1 °C), 9 rain days
- Neuchâtel4 °C (39 °F) / -1 °C (30 °F), 10 rain days39 °F (4 °C) / 30 °F (-1 °C), 10 rain days
- Nyon5 °C (41 °F) / 0 °C (32 °F), 10 rain days41 °F (5 °C) / 32 °F (0 °C), 10 rain days
- Pfäffikon4 °C (39 °F) / -1 °C (30 °F), 11 rain days39 °F (4 °C) / 30 °F (-1 °C), 11 rain days
- Pontresina0 °C (32 °F) / -7 °C (19 °F), 8 rain days32 °F (0 °C) / 19 °F (-7 °C), 8 rain days
- Porrentruy4 °C (39 °F) / -2 °C (28 °F), 8 rain days39 °F (4 °C) / 28 °F (-2 °C), 8 rain days
- Rapperswil4 °C (39 °F) / -1 °C (30 °F), 10 rain days39 °F (4 °C) / 30 °F (-1 °C), 10 rain days
- Rheinfelden5 °C (41 °F) / 0 °C (32 °F), 10 rain days41 °F (5 °C) / 32 °F (0 °C), 10 rain days
- Riederalp-Bettmeralp0 °C (32 °F) / -6 °C (21 °F), 6 rain days32 °F (0 °C) / 21 °F (-6 °C), 6 rain days
- Romanshorn3 °C (37 °F) / -2 °C (28 °F), 8 rain days37 °F (3 °C) / 28 °F (-2 °C), 8 rain days
- Saas-Fee0 °C (32 °F) / -7 °C (19 °F), 9 rain days32 °F (0 °C) / 19 °F (-7 °C), 9 rain days
- Safiental2 °C (36 °F) / -5 °C (23 °F), 7 rain days36 °F (2 °C) / 23 °F (-5 °C), 7 rain days
- Saint Gallen3 °C (37 °F) / -3 °C (27 °F), 11 rain days37 °F (3 °C) / 27 °F (-3 °C), 11 rain days
- Saint-Maurice5 °C (41 °F) / -2 °C (28 °F), 9 rain days41 °F (5 °C) / 28 °F (-2 °C), 9 rain days
- Saint-Ursanne4 °C (39 °F) / -1 °C (30 °F), 8 rain days39 °F (4 °C) / 30 °F (-1 °C), 8 rain days
- Samedan3 °C (37 °F) / -4 °C (25 °F), 8 rain days37 °F (3 °C) / 25 °F (-4 °C), 8 rain days
- Samnaun1 °C (34 °F) / -7 °C (19 °F), 5 rain days34 °F (1 °C) / 19 °F (-7 °C), 5 rain days
- Sargans4 °C (39 °F) / -1 °C (30 °F), 9 rain days39 °F (4 °C) / 30 °F (-1 °C), 9 rain days
- Schaffhausen4 °C (39 °F) / -1 °C (30 °F), 10 rain days39 °F (4 °C) / 30 °F (-1 °C), 10 rain days
- Schwyz3 °C (37 °F) / -3 °C (27 °F), 6 rain days37 °F (3 °C) / 27 °F (-3 °C), 6 rain days
- Scuol-1 °C (30 °F) / -8 °C (18 °F), 7 rain days30 °F (-1 °C) / 18 °F (-8 °C), 7 rain days
- Sierre6 °C (43 °F) / -1 °C (30 °F), 9 rain days43 °F (6 °C) / 30 °F (-1 °C), 9 rain days
- Sion4 °C (39 °F) / -2 °C (28 °F), 9 rain days39 °F (4 °C) / 28 °F (-2 °C), 9 rain days
- Solothurn4 °C (39 °F) / -1 °C (30 °F), 10 rain days39 °F (4 °C) / 30 °F (-1 °C), 10 rain days
- Spiez3 °C (37 °F) / -2 °C (28 °F), 10 rain days37 °F (3 °C) / 28 °F (-2 °C), 10 rain days
- St. Moritz0 °C (32 °F) / -9 °C (16 °F), 7 rain days32 °F (0 °C) / 16 °F (-9 °C), 7 rain days
- Stans3 °C (37 °F) / -2 °C (28 °F), 9 rain days37 °F (3 °C) / 28 °F (-2 °C), 9 rain days
- Stein am Rhein4 °C (39 °F) / -1 °C (30 °F), 9 rain days39 °F (4 °C) / 30 °F (-1 °C), 9 rain days
- Tenero7 °C (45 °F) / 0 °C (32 °F), 9 rain days45 °F (7 °C) / 32 °F (0 °C), 9 rain days
- Thun4 °C (39 °F) / -2 °C (28 °F), 10 rain days39 °F (4 °C) / 28 °F (-2 °C), 10 rain days
- Tujetsch3 °C (37 °F) / -5 °C (23 °F), 10 rain days37 °F (3 °C) / 23 °F (-5 °C), 10 rain days
- Uster6 °C (43 °F) / 0 °C (32 °F), 12 rain days43 °F (6 °C) / 32 °F (0 °C), 12 rain days
- Val Lumnezia4 °C (39 °F) / -4 °C (25 °F), 8 rain days39 °F (4 °C) / 25 °F (-4 °C), 8 rain days
- Val Mesolcina3 °C (37 °F) / -3 °C (27 °F), 9 rain days37 °F (3 °C) / 27 °F (-3 °C), 9 rain days
- Vals3 °C (37 °F) / -3 °C (27 °F), 8 rain days37 °F (3 °C) / 27 °F (-3 °C), 8 rain days
- Verbier2 °C (36 °F) / -6 °C (21 °F), 9 rain days36 °F (2 °C) / 21 °F (-6 °C), 9 rain days
- Vevey5 °C (41 °F) / 0 °C (32 °F), 10 rain days41 °F (5 °C) / 32 °F (0 °C), 10 rain days
- Villars-sur-Ollon3 °C (37 °F) / -3 °C (27 °F), 6 rain days37 °F (3 °C) / 27 °F (-3 °C), 6 rain days
- Visp4 °C (39 °F) / -3 °C (27 °F), 8 rain days39 °F (4 °C) / 27 °F (-3 °C), 8 rain days
- Weggis4 °C (39 °F) / -1 °C (30 °F), 11 rain days39 °F (4 °C) / 30 °F (-1 °C), 11 rain days
- Wengen1 °C (34 °F) / -5 °C (23 °F), 11 rain days34 °F (1 °C) / 23 °F (-5 °C), 11 rain days
- Winterthur4 °C (39 °F) / -1 °C (30 °F), 11 rain days39 °F (4 °C) / 30 °F (-1 °C), 11 rain days
- Yverdon-les-Bains5 °C (41 °F) / 0 °C (32 °F), 10 rain days41 °F (5 °C) / 32 °F (0 °C), 10 rain days
- Zermatt1 °C (34 °F) / -6 °C (21 °F), 9 rain days34 °F (1 °C) / 21 °F (-6 °C), 9 rain days
- Zug4 °C (39 °F) / -1 °C (30 °F), 10 rain days39 °F (4 °C) / 30 °F (-1 °C), 10 rain days
- Zurich4 °C (39 °F) / -1 °C (30 °F), 11 rain days39 °F (4 °C) / 30 °F (-1 °C), 11 rain days
Festivals and holidays
Dates as our data lists them. Moving holidays (lunar and Islamic calendars, Easter) shift every year: check the date for your year before you build a trip on it.
Crowds and prices
- Crowds · Switzerland
- High
- Prices · Switzerland
- High
High-price month: see what to book ahead.
Compare two months
Weather, crowds and prices for any two months in Switzerland, side by side.
Verdict
Dec: Good
Jun: Great (better)
Crowds
Dec: High
Jun: Medium
Prices
Dec: High
Jun: Medium
Festivals listed
Dec: 3
Jun: 1
December: Christmas markets (Basel, Zurich, Montreux) and ski season from mid-month; Christmas–New Year is the most expensive week.
June: Lifts reopen; wildflowers; high trails may still have snow until July. Art Basel mid-month.
Switzerland: figures are long-term averages from this guide, not a forecast.
What to pack
- Layers: a fleece or light jacket
Where to go in December
Rated best or good this month
Bernese and central Alps
Best weather of the year (Interlaken, Grindelwald, Lauterbrunnen, Engelberg)
Valais and Engadin
Best weather of the year (Zermatt, Saas-Fee, Verbier, St Moritz)
Best months: Jun–Sep, Dec–Feb
Best months: Dec–Mar for skiing, Jun–Sep for hiking and mountain‑bike trails
Best months: Dec–Mar (ski), Jun–Sep (hiking)
Best months: May–Sep for river swimming and terrace cafés; Dec–Mar for the baths in cold weather
Best months: Jun–Sep, Dec–Feb
Best months: Jun–Sep for hiking and the Aletsch cable cars; Dec–Mar for skiing
Best months: Jun–Sep, Dec–Mar
Best months: Dec–Mar for snow; Jun–Sep for hiking and golf
Best months: Dec–Mar (ski), Jul–Sep (hiking)
Best months: Dec–Mar for ski; Jun–Sep for hiking