lunchmenu.ch

Swiss Restaurant Statistics

Continuously computed figures from the menus Swiss restaurants publish: 97'099 lunch menu prices from the last 30 days and the à-la-carte cards of 1'390 restaurants.

As of 30 October 2026

Lunch menu

CHF 22.90

median, 1'370 restaurants

Espresso

CHF 4.50

median, 716 restaurants

Open wine, 1 dl

CHF 8.00

median, 891 restaurants

Draught beer, 3 dl

CHF 5.00

median, 306 restaurants

Lunch discount

CHF 5.00

less than à la carte, same dish type (median, 369 restaurants)

Friday is fish day

In the average restaurant, 16.0% of Friday main courses are fish or seafood - Monday to Thursday 10.7% to 11.2%. 61% of restaurants serve fish on Friday, on other days 44% to 47%.

5%10%15%Monday: 11.0% · Restaurants with fish 44%11.0%MonTuesday: 10.9% · Restaurants with fish 44%10.9%TueWednesday: 10.7% · Restaurants with fish 46%10.7%WedThursday: 11.2% · Restaurants with fish 47%11.2%ThuFriday: 16.0% · Restaurants with fish 61%16.0%Fri
Table
WeekdayFish share (restaurant average)Restaurants with fish
Monday11.0%44%
Tuesday10.9%44%
Wednesday10.7%46%
Thursday11.2%47%
Friday16.0%61%
Fixed panel of 772 restaurants that published main courses on all five weekdays in the last 28 days; each restaurant weighs the same, however many dishes it lists.

In French-speaking Switzerland

In French-speaking Switzerland, 27.9% of Friday main courses are fish, Monday to Thursday 15.3% to 16.8% (110 restaurants).

10%20%30%Monday: 16.0% · Restaurants with fish 46%16.0%MonTuesday: 16.8% · Restaurants with fish 52%16.8%TueWednesday: 15.3% · Restaurants with fish 48%15.3%WedThursday: 16.8% · Restaurants with fish 55%16.8%ThuFriday: 27.9% · Restaurants with fish 65%27.9%Fri
Table
WeekdayFish share (restaurant average)Restaurants with fish
Monday16.0%46%
Tuesday16.8%52%
Wednesday15.3%48%
Thursday16.8%55%
Friday27.9%65%

The à-la-carte classics

127 of 1'390 restaurants with an à-la-carte card list Cordon bleu - the most common dishes, counted as concepts: the same dish in different languages and spellings is merged.

The main-course classics

Cordon bleu: 127 / 1'390Cordon bleu127Spaghetti Carbonara: 116 / 1'390Spaghetti Carbonara116Spaghetti Bolognese: 105 / 1'390Spaghetti Bolognese105Rindstatar: 72 / 1'390Rindstatar72Zürcher Geschnetzeltes: 65 / 1'390Zürcher Geschnetzeltes65Vitello Tonnato: 56 / 1'390Vitello Tonnato56
Table
DishCard names countedRestaurants
Cordon bleucordon bleu / schweins cordon bleu / cordon bleu vom schwein / kalbs cordon bleu / cordon bleu vom kalb / kalbscordon bleu127
Spaghetti Carbonaraspaghetti carbonara / spaghetti alla carbonara116
Spaghetti Bolognesespaghetti bolognese / spaghetti alla bolognese / bolognese105
Rindstatarrindstatar / tartare de bouf / rindstartar / beef tartare72
Zürcher Geschnetzelteszurcher kalbsgeschnetzeltes / kalbsgeschnetzeltes zurcher art / zurcher geschnetzeltes / kalbsgeschnetzeltes nach zurcher art / geschnetzeltes zurcher art / zurcher geschnetzeltes mit rosti / zuri gschnatzlets65
Vitello Tonnatovitello tonnato / vitello tonato56

The pizza classics

Margherita: 246 / 1'390Margherita246Quattro Stagioni: 131 / 1'390Quattro Stagioni131Hawaii: 129 / 1'390Hawaii129Calzone: 117 / 1'390Calzone117Quattro Formaggi: 104 / 1'390Quattro Formaggi104Capricciosa: 99 / 1'390Capricciosa99
Table
DishCard names countedRestaurants
Margheritamargherita / pizza margherita246
Quattro Stagioniquattro stagioni / pizza quattro stagioni131
Hawaiihawaii / pizza hawaii129
Calzonecalzone / pizza calzone117
Quattro Formaggiquattro formaggi / pizza quattro formaggi104
Capricciosacapricciosa / pizza capricciosa99

The same dish in different languages (e.g. grüner Salat / salade verte / insalata verde) is merged; each chart's table shows which card names are counted together. Ambiguous bare names (e.g. plain 'Napoli', which can also mean a pasta) are not counted.

On Mondays, fewer restaurants publish a lunch menu

In the last four weeks, restaurants published a lunch menu on 2'385 restaurant-days on Mondays, against 3'260 to 3'974 Tuesday to Friday. Publishing is not opening: many put their menu online only on Tuesday.

1'0002'0003'0004'000Monday: 2'385 Restaurant-days2'385MonTuesday: 3'260 Restaurant-days3'260TueWednesday: 3'460 Restaurant-days3'460WedThursday: 3'555 Restaurant-days3'555ThuFriday: 3'974 Restaurant-days3'974Fri
Table
WeekdayRestaurant-days
Monday2'385
Tuesday3'260
Wednesday3'460
Thursday3'555
Friday3'974
2 October to 29 October, each weekday exactly four times; only past dates count, never menus scheduled ahead.

The lunch basket: menu and espresso

Lunch menu plus espresso, by language region: German-speaking CHF 27.50 · French-speaking CHF 27.00 · Ticino (small sample) CHF 25.30.

Baden: CHF 27.25 + CHF 4.80 = CHF 32.05BadenCHF 32.05Zug: CHF 24.50 + CHF 5.00 = CHF 29.50ZugCHF 29.50Zürich: CHF 24.00 + CHF 4.80 = CHF 28.80ZürichCHF 28.80St. Gallen: CHF 24.00 + CHF 4.80 = CHF 28.80St. GallenCHF 28.80Basel: CHF 23.50 + CHF 4.80 = CHF 28.30BaselCHF 28.30Genève: CHF 24.00 + CHF 4.00 = CHF 28.00GenèveCHF 28.00Lausanne: CHF 24.00 + CHF 4.00 = CHF 28.00LausanneCHF 28.00Luzern: CHF 23.00 + CHF 5.00 = CHF 28.00LuzernCHF 28.00Chur: CHF 22.50 + CHF 4.55 = CHF 27.05ChurCHF 27.05Bern: CHF 22.00 + CHF 4.70 = CHF 26.70BernCHF 26.70Thun: CHF 22.00 + CHF 4.50 = CHF 26.50ThunCHF 26.50Fribourg: CHF 20.50 + CHF 4.10 = CHF 24.60FribourgCHF 24.60Winterthur: CHF 19.50 + CHF 4.60 = CHF 24.10WinterthurCHF 24.10Solothurn: CHF 19.00 + CHF 4.50 = CHF 23.50SolothurnCHF 23.50
Table
City or regionLunch menuEspressoBasketRestaurants
German-speakingCHF 22.90CHF 4.60CHF 27.501'138 / 580
French-speakingCHF 23.00CHF 4.00CHF 27.00211 / 113
Ticino (small sample)CHF 22.00CHF 3.30CHF 25.3021 / 23
BadenCHF 27.25CHF 4.80CHF 32.0514 / 13
ZugCHF 24.50CHF 5.00CHF 29.5034 / 11
ZürichCHF 24.00CHF 4.80CHF 28.80261 / 131
St. GallenCHF 24.00CHF 4.80CHF 28.8040 / 20
BaselCHF 23.50CHF 4.80CHF 28.3097 / 49
GenèveCHF 24.00CHF 4.00CHF 28.0048 / 32
LausanneCHF 24.00CHF 4.00CHF 28.0054 / 21
LuzernCHF 23.00CHF 5.00CHF 28.0060 / 23
ChurCHF 22.50CHF 4.55CHF 27.0518 / 10
BernCHF 22.00CHF 4.70CHF 26.7077 / 56
ThunCHF 22.00CHF 4.50CHF 26.5011 / 13
FribourgCHF 20.50CHF 4.10CHF 24.6010 / 15
WinterthurCHF 19.50CHF 4.60CHF 24.1027 / 18
SolothurnCHF 19.00CHF 4.50CHF 23.5020 / 17
Sum of the medians (lunch menu and espresso), not the median of the sums. Cities with at least 10 restaurants for each of the two prices.

Round francs: how lunch prices end

89.0% of lunch menu prices end on a full or half franc. Based on 97'099 prices from the last 30 days. 16% of restaurants have at least one price that ends neither in .00 nor .50.

.00: 53.8% (52'206).0053.8%.50: 35.3% (34'237).5035.3%.90: 7.0% (6'780).907.0%.80: 2.9% (2'823).802.9%.95: 0.1% (69).950.1%other: 1.0% (984)other1.0%
Table
EndingSharePrices
.0053.8%52'206
.5035.3%34'237
.907.0%6'780
.802.9%2'823
.950.1%69
other1.0%984

More numbers

Methodology

Every figure is computed continuously from the collected cards and menus, several times a day; no number on this page is typed in by hand. Price endings: based on the lunch menu prices of the last 30 days (CHF 10-100, Swiss restaurants only, as in the lunch price index). Classics: we count how many distinct restaurants with a currently published à-la-carte card list a dish; language and spelling variants of the same dish are merged (the tables show the card names counted together), ambiguous names are not counted, and dishes on fewer than 15 cards are not shown. The weekday comparison only appears once a fully observed four-week window exists; forward-scheduled menus never count.

Fish day: a fixed panel of restaurants that published main courses on all five weekdays in the last 28 closed days. Per restaurant and weekday, the share of main courses our proprietary classification system unambiguously classifies as fish or seafood (dishes without a real name excluded), then the mean over restaurants - a restaurant listing 50 dishes a day weighs no more than one with two menus.

These figures may be quoted freely with attribution to Lunchmenu.ch and a link to this page.