Tourist menu traps in Prague — what to watch for

Tourist menu traps in Prague — what to watch for

How do I avoid overpriced tourist restaurants in Prague?

Walk 10 minutes from Old Town Square in any direction. Avoid restaurants without prices posted outside, or with staff actively recruiting customers from the street. Check your bill itemized before paying.

The geography of tourist pricing in Prague

Prague’s restaurant scene splits clearly: a highly-exploitative tourist strip in and immediately around Staroměstské náměstí (Old Town Square), and a genuinely excellent, fairly-priced food scene everywhere else. The distance between a tourist trap and a good local restaurant is often 10 minutes on foot.

This isn’t about luxury vs budget — even cheap-looking establishments near Old Town Square can overcharge spectacularly. Understanding the mechanics helps you avoid it.

The tourist menu price markup

The most basic version: a restaurant displays one set of prices on the menu posted outside (often in Czech or with small print), and when the bill arrives, you’ve been charged from a different menu with higher prices.

How it works in practice:

  • A menu on a board outside shows goulash at 190 CZK
  • The menu at the table (same-looking format) shows it at 290 CZK
  • Or there is no outside menu, only inside, and you sit down before seeing prices
  • Czech menus are sometimes shown to local-looking customers; “English menu” (tourist pricing) to everyone else

Prevention: Check the prices on the outside menu carefully before sitting. If prices are not posted outside at all, either ask to see a menu before sitting or choose somewhere else. A restaurant that won’t show you prices before you commit is telling you something.

The bread charge

Bread (chleba or rohlík) arrives at your table unasked — sometimes within minutes of sitting down. It looks complimentary. It is not.

The charge: 45–85 CZK per person (~€2–3.50) for bread you neither ordered nor wanted.

How to handle it: When the bread arrives, you can ask “Is this free?” (Zdarma?) or simply push the bread back and say you didn’t order it. The server should remove it from the bill. If you eat it, you should expect to pay for it — it will appear on the itemized bill.

Prevention: Check the menu for “bread” or “chleba” as a line item. In tourist restaurants, it’s often listed as part of the covers.

The cover charge

Separate from (or combined with) the bread charge: an “obsluha” (service/sitting charge) of 50–100 CZK per person, added to the bill regardless of whether service was provided or requested.

This is technically legal in Czech Republic — the requirement is that it must be disclosed on the menu before you order. In practice, tourist restaurants often bury it in small print or don’t disclose it at all.

What to do: Scan the menu (or the bottom of the menu) for “obsluha,” “service charge,” or “cover charge” and the per-person amount. If you see it, factor it into your budget. If you didn’t see it and it appears on the bill, ask the server to point to where it was disclosed on the menu. If they can’t, you have grounds to dispute it — though this is often impractical in practice.

If a service charge is on the bill, no additional tip is expected.

The “today’s special” game

A server approaches your table without a menu and begins reciting specials with no prices, or with prices “depending on weight” (for fish or meat). You order. The bill includes a “special” at 450–650 CZK (~€18–26) that you assumed was similar to menu prices.

Prevention: Always ask the price before ordering anything not on the written menu. “What is the price?” (Kolik to stojí?) is your friend. For fish sold by weight: ask for the weight range and calculate the price before ordering.

Tourist traps vs local restaurants — how to tell the difference

Signs you’re looking at a tourist trap:

  • Staff standing outside actively recruiting you (“Come in! Best food! Special price!”)
  • Menu in 8 languages posted prominently outside
  • No Czech customers visible inside (or none at all)
  • Photos of every dish on the menu
  • Location directly on Old Town Square or immediate surrounding streets

Signs you’ve found a real local restaurant:

  • Prices posted outside in Czech, with perhaps one other language
  • Customers are a mix of locals and tourists
  • No one is standing outside recruiting
  • Daily specials board (denní menu) for 129–179 CZK (~€5–7) — this is the Czech lunch deal and represents genuine local pricing
  • The word “hospoda” or “restaurace” without added tourist signage

The denní menu (daily lunch menu): Between roughly 11:00 and 14:30, many Czech restaurants offer a lunch deal — soup + main course + sometimes a drink — for 129–189 CZK. This is what local office workers eat. It’s excellent value and the food is often better than the à la carte menu at a tourist spot charging twice as much.

Specific streets and zones to be careful in

Maximal tourist-trap concentration:

  • Staroměstské náměstí itself and Pařížská street
  • Malé náměstí and U Radnice street (just off Old Town Square)
  • Celetná street (from Old Town Square to Náměstí Republiky)
  • Mostecká street (approaches to Charles Bridge from Malá Strana)
  • Nerudova ulice (the main tourist approach to Prague Castle)

Where to find better options within 10-15 minutes of Old Town:

  • Náměstí Míru area (Vinohrady) — excellent restaurant density with genuine local pricing
  • Dlouhá ulice (a 5-minute walk north of Old Town Square) — some tourist-y spots but also genuinely good restaurants
  • Anděl / Smíchov — local commercial area with good value
  • Holešovice — growing food scene, no tourist pricing
  • Žižkov — best value-to-quality ratio in Prague

How to check your bill

Ask for an itemized bill (účet, prosím) and go through it line by line:

  • Is each dish or drink you ordered on the bill?
  • Is there a bread charge you didn’t expect?
  • Is there a cover charge?
  • Is there a service charge?
  • Are prices the same as what was on the menu?

Pay for what you ordered and what was disclosed. If there are additions you dispute, raise them with the server calmly. Most legitimate restaurants will correct genuine errors. Tourist traps may argue — if so, pay the amount you believe is correct and note the establishment.

What we’d actually do

Eat near Old Town Square maximum once for the atmosphere, with full knowledge that you’re paying a premium. Otherwise: Vinohrady for sit-down dinners, Dlouhá ulice for a mix, and look for the “denní menu” board at lunchtime anywhere that’s away from the immediate tourist corridor. The food quality difference between tourist-trap and local restaurant is substantial — not just the price.

Common mistakes

Assuming a higher price means better food: The reverse is often true in tourist zones. The markup pays for the location and the tourist pipeline, not the kitchen.

Not checking the bill because you feel awkward: The itemized check is your right and completely normal to request. Do it every time in tourist areas.

Eating where the tout recruited you: No good Prague restaurant needs a tout outside. Walk away and find somewhere with no recruitment.

Ordering from the “English menu” without checking the Czech version: In some restaurants, you can ask to see the Czech menu — it may have different (lower) prices for the same dishes. If you spot a discrepancy, ask about it before ordering.

Questions people actually ask

Are all Old Town restaurants tourist traps?

No. There are genuinely good restaurants in or near Old Town — but they’re typically not the ones directly on the square or at the main tourist thoroughfares. Research specific restaurant names before arriving. Česky_kuchař style booking sites and Google Maps reviews filtered for recent local reviews help identify the honest operators.

Is it normal to pay for tap water at Prague restaurants?

Yes. Water is not served free as standard in Czech restaurants (unlike the US, or some western European countries). Asking for tap water (voda z kohoutku) is accepted at most restaurants, but it may still be charged (20–40 CZK). Some tourist restaurants charge for everything, including the act of sitting. Knowing this in advance prevents unpleasant surprises.

What’s a fair price for a main course in a non-tourist Prague restaurant?

In a decent local restaurant in 2026: 180–280 CZK (€7–11) for a substantial Czech main course (svíčková, roast duck, pork knuckle, schnitzel). In a mid-range international restaurant: 250–380 CZK (€10–15). Over 400 CZK for a standard main (not steak or fish) should make you ask questions.

Do restaurants in Prague accept card payments?

Most do in 2026, especially in the city centre. A minority of local pubs and smaller restaurants prefer or require cash. It’s always worth having 500–1 000 CZK in cash as backup. See the currency and money guide for more.

What’s the denní menu and how do I find one?

The denní menu (daily lunch menu) is a fixed-price lunch deal, typically 129–189 CZK, offered Monday–Friday from about 11:00–14:30. Look for a sandwich board outside restaurants saying “denní menu” or “polední menu” with today’s options and price. These are aimed at local workers, not tourists, and the food is typically fresh and seasonal because the kitchen rotates it daily.

Book this experience