TableSage

guides

Why Menus Don't List the Ingredients That Matter

Fish sauce, dashi, oyster sauce, ghee, anchovy, lard. The ingredients most likely to affect you are the ones a menu has no reason to mention — and it isn't because anyone is hiding them.

A plate of kimchi

There is a category of ingredient that appears in an enormous number of restaurant dishes and on almost no menus. It is not a conspiracy, and no regulation is being dodged. It is a difference in how kitchens and diners think about what an ingredient is.

The medium is not an ingredient

Ask a Thai cook what is in a stir-fried vegetable dish and they will tell you: the vegetables, the garlic, the chilli. They will not say fish sauce, for the same reason an English cook would not say "salt" when listing what is in a roast potato. Fish sauce is the salt. It is the medium the food sits in.

The same logic produces:

  • Dashi in Japanese simmered dishes and broths — usually made with dried bonito, which is why a vegetable dish is often not vegetarian
  • Oyster sauce in Chinese stir-fries, especially plain greens
  • Ghee as the default cooking fat in many Indian kitchens
  • Lard in traditional refried beans and tamale masa
  • Anchovy dissolved into the base of Italian sauces, where it reads as depth
  • Shrimp paste in curry pastes with no visible seafood

Every one of those is invisible on a menu, and every one is a common reason someone's meal goes wrong.

Allergen labelling rules — EU FIC, the US FALCPA/FASTER framework — govern particular allergen categories and particular contexts, and in many jurisdictions a restaurant satisfies them by having the information available on request rather than printed on the menu. A dish being unlabelled is frequently full compliance, not a violation.

And none of it covers "this is fish-based" as a general fact. Fish sauce is not a top allergen in most frameworks. A vegetarian is not a protected category. The regulation was never designed to answer the question most diners are asking.

What follows from this

Three practical consequences:

  1. A translation does not help. Translating a menu that omits fish sauce produces an English menu that omits fish sauce.
  2. The question to ask is specific, not categorical. "Is there fish sauce in this?" gets a fast, accurate answer. "Is this vegetarian?" invites a judgement call about what you mean.
  3. Silence is not clearance. If nothing was flagged, nothing was found — which is not the same as nothing being there.

What TableSage does with this

It reads the dish rather than the description, and separates what the menu said from what the dish usually contains — marking the second group explicitly as not printed.

It will never tell you a dish is safe. Recipes vary between restaurants and change without notice, so what it gives you is a much shorter list and a specific question to ask. The staff always have the final word.

You can try that on a real Thai menu on the homepage, without installing anything.

Taste quiz

Build your taste profile

Eight dishes. You say which ones you’d eat — we sketch a starting taste type.

No account, nothing stored on our servers. The full app asks twenty dishes and keeps learning after every meal.