Most allergen mistakes in restaurants are not caused by not knowing the law. They are caused by the gap between what the kitchen actually does and what the menu says it does. A dish gets a new supplier, a fryer gets shared, a special goes up on the board, and the information a guest with an allergy relies on quietly drifts out of date. The law tells you what you must be able to declare; labeling is the daily craft of putting that on the plate, accurately, in a form a guest can trust.
This guide is about that craft. Not the regulations in depth (we cover those separately in the EU and UK allergen compliance guide), but the practical work of allergen menu labeling: how to build the source of truth, how to choose between icons, codes and plain text, how to word a cross-contact warning without crying wolf, and how to keep the whole thing accurate when a busy kitchen keeps changing underneath you.
Labeling and compliance are two different jobs
It helps to separate the two. Compliance is knowing which allergens the law requires you to declare and being able to prove you can. Labeling is the presentation layer: the marks, words and systems that carry that information from your records to the guest at the moment they decide what to order. You can be technically compliant and still label badly, with a legend nobody can find, warnings on everything, and a printed card that contradicts what the kitchen served last week.
Good labeling does three things at once. It is accurate, tracing every claim back to a maintained record. It is clear, readable by a guest under pressure without a conversation. And it is current, reflecting what the kitchen is doing today, not at the last reprint. Hold those three tests in mind; most labeling failures are a failure of one of them.
Start with an allergen matrix, not the menu
Before a single icon goes on a menu, you need the thing underneath it: an allergen matrix. This is a simple grid with every dish down the side and every major allergen across the top, and a mark in each cell where the allergen is present. It is the single source of truth from which every label is derived.
Build it from two inputs: your recipes, ingredient by ingredient, and your suppliers' allergen specifications for anything you buy in (sauces, stocks, breads, condiments). The second source is the one owners underestimate, because an allergen can arrive in a bought-in component you never think of as risky. A matrix looks like this:
| Dish | Gluten | Milk | Egg | Nuts | Fish | Soy |
|---|---|---|---|---|---|---|
| Margherita pizza | Yes | Yes | — | — | — | — |
| Caesar salad | Yes | Yes | Yes | — | Yes | — |
| Pad thai | — | — | Yes | Yes | Yes | Yes |
The matrix is boring and it is the most important document in the building. Everything visible on the menu is just a rendering of it. If the matrix is right and maintained, your labels can be right; if it lives in someone's memory, they cannot.
Icons, codes, or plain text: choosing a system
Once the matrix exists, you decide how to show it. There are three common approaches to menu allergen icons and labels, each with a real trade-off.
| System | Strengths | Weaknesses |
|---|---|---|
| Icons (a small symbol per allergen) | Compact, quick to scan, visually consistent, language-neutral at a glance | Rely on a legend the guest must find; symbols are not standardised, so meaning can be guessed wrong |
| Codes (letters or numbers, e.g. "G, M, E") | Very space-efficient on a dense printed menu; easy to typeset | Meaningless without the key; easy to misread; poor for accessibility and across languages |
| Plain text ("contains: milk, egg, wheat") | Unambiguous, accessible, no legend needed, safest for high-risk guests | Takes the most space; can clutter a printed menu with many dishes |
On paper, you are forced to pick one and live with its weakness, usually icons or codes to save room, which pushes the real information into a legend the anxious guest has to decode. This is where the format itself becomes the problem, and it is worth pausing on: the guest most in need of the information is the one least served by a cramped symbol and a key three lines below.
A digital menu dissolves the trade-off rather than choosing a side. The dish can carry a clean, calm tag or icon in the listing, and expand on tap to the full plain-language detail: "Contains milk and gluten. May contain traces of nuts." You get the compactness of icons and the safety of full text, without asking the guest to hunt for a legend. Our complete guide to QR code menus covers how that layered presentation works in practice.
Put the label where the decision happens
Placement matters as much as content. An allergen note is only useful at the moment the guest is choosing, which means on or immediately beside the dish, not buried in a block of small print on the back page. A guest scanning the mains should see the allergen information for each main without flipping pages or cross-referencing a numbered key elsewhere.
This is a quiet failure of many printed menus: the allergens are "on the menu" in the strict sense, gathered into a dense paragraph at the bottom, technically present but practically invisible. Per-dish labeling, right at the point of decision, is both safer and less work for your floor staff, because the guest answers their own question before they ever ask it.
The language of "may contain"
Cross-contact warnings are where good intentions do the most damage. Faced with uncertainty and liability, many kitchens slap "may contain traces of nuts" on every dish. It feels safe. It is close to useless. When every item carries the same blanket warning, guests learn to ignore it, and the one dish where the risk is real gets no more attention than the salad where it is not.
Precautionary labeling should be earned, not sprinkled. Use it where a genuine cross-contact risk exists (a shared fryer, a shared prep surface, an open bakery section) and word it specifically: "may contain traces of nuts due to shared preparation areas" tells the guest something true and actionable. Keep the phrasing consistent across the menu so guests can calibrate. And never let "may contain" stand in for knowing what is deliberately in the dish; it addresses accidental traces, not ingredients.
The honest version of a cross-contact policy is usually operational, not textual: reduce the real risk in the kitchen where you can, be candid about where you cannot, and let a guest with a serious allergy make an informed choice rather than face a wall of identical disclaimers.
Allergen labeling across languages
If you serve tourists, allergen labeling becomes a safety problem in translation. A guest who reads the menu in their own language still needs the allergen information to be exactly right in that language, and this is precisely where casual machine translation is dangerous. A translation engine that renders "nuts" ambiguously, or confuses "gluten-free" with "wheat-free," can turn helpful into harmful.
The safe approach is to treat allergen terms as fixed, controlled vocabulary rather than free text to be loosely translated: the fourteen names map to a known equivalent in each language, checked once, reused everywhere. We go deeper on doing this without introducing risk in the guide to multilingual menus for international guests. The short version: translate the prose freely, but hold the allergen list to a strict, verified glossary.
A quick map of what to declare, by region
Labeling systems sit on top of regional rules about which allergens count. The details belong in the compliance guide, but here is the shape of it so your matrix has the right columns.
| Region | Framework | What it covers |
|---|---|---|
| EU | Regulation 1169/2011 (FIC) | 14 named allergens must be declarable for all non-prepacked food, on the menu or clearly signposted and available on request |
| UK | FIC + Natasha's Law (PPDS) | Same 14 allergens; food prepacked for direct sale must carry a full ingredient list with allergens emphasised |
| United States | FALCPA + FASTER Act | "Big 9" allergens (including sesame since 2023) for packaged foods; restaurant menus are not federally required to label, though some states and cities do |
The EU's fourteen are the widest common set worth building your matrix around: cereals containing gluten, crustaceans, eggs, fish, peanuts, soybeans, milk, tree nuts, celery, mustard, sesame, sulphur dioxide and sulphites, lupin, and molluscs. Even if you operate somewhere with lighter menu rules, labeling to that standard is good practice and future-proofs you against tightening regulation and rising guest expectation.
Where a digital menu changes the math
Everything above has one recurring enemy: change. The initial label is rarely the problem; the silent drift is. A supplier reformulates a sauce, a chef swaps a stock, a Tuesday special never makes it into the matrix, and a printed menu now states something untrue with total confidence. Reprinting to fix it costs money and time, so the correction waits, and the gap between menu and kitchen widens through every service.
This is the practical case for a digital menu, and it is a safety case as much as a convenience one. When the allergen information is data rather than ink, a change in the kitchen becomes a change on the menu in the same minute, across every language, with no reprint. A platform like Opnclo holds the allergen detail as structured, per-dish data: the guest sees a calm tag that expands to full plain-language detail in their language, your specials live in the same system as the core menu so nothing slips through, and when something changes you correct it once. It does not replace the discipline of a maintained matrix or an honest cross-contact policy, but it removes the format that makes those disciplines so easy to undo. The digital versus paper comparison lays out the wider trade-offs.
A labeling checklist
If you do nothing else, work through this in order. It front-loads the parts that protect guests and reduce your risk.
| Step | What to do |
|---|---|
| 1. Build the matrix | List every dish against every major allergen, using recipes and supplier specs; treat it as the source of truth |
| 2. Choose a system | Pick icons, codes or plain text; if digital, layer a tag over full expandable detail so you get both |
| 3. Label per dish | Put allergen information beside each item, at the point of decision, not in back-page small print |
| 4. Discipline cross-contact | Use "may contain" only where risk is real, worded specifically and consistently |
| 5. Control translations | Map the allergen names to a verified glossary per language; never leave them to loose machine translation |
| 6. Lock the update rule | No recipe, supplier or special change is final until the matrix and the menu are updated |
Allergen labeling is not, at heart, a design problem or a legal one. It is a promise: that what the menu says about a dish is true, legible, and current for the one guest whose evening (or worse) depends on it. Build the matrix, label at the point of decision, be honest about cross-contact, and use a format you can correct the moment the kitchen moves. Do that, and the labeling takes care of the compliance almost as a side effect.
Frequently asked questions
Do restaurants legally have to label allergens on the menu?
It depends where you are. In the EU and UK, you must be able to provide accurate information on the 14 major allergens for every non-prepacked dish, either on the menu or clearly signposted and available on request. In the US, federal law governs packaged food labels rather than restaurant menus, so most US restaurants are not federally required to print allergens on the menu, though some states and cities do. Everywhere, being able to answer an allergen question accurately and consistently is the baseline expectation.
What is an allergen matrix and why do I need one?
It is a grid of every dish against every major allergen, marked where each allergen is present. It is the single source of truth behind whatever appears on the menu. Build it once from recipes and supplier specs, maintain it, and make every label trace back to it. Without a matrix, allergen answers live in individual heads, which is how mistakes happen.
Should I use allergen icons or written text on the menu?
Both have a place. Icons and codes save space but rely on a legend and can be ambiguous across languages; plain text is unambiguous and accessible but takes more room. A digital menu removes the trade-off by showing a clean tag on the dish that expands to full plain-language detail, in the guest's own language, on tap.
How should I word a "may contain" or cross-contact warning?
Use it only where a genuine cross-contact risk exists, and word it specifically: "may contain traces of nuts due to shared preparation areas" beats a blanket disclaimer. Putting "may contain" on everything trains guests to ignore it and protects no one. Keep the wording consistent, and never use it as a substitute for knowing what is deliberately in the dish.
How do I keep allergen labels accurate when recipes change?
Make a rule that no recipe or supplier change is final until the allergen matrix is updated, keep specials in the same system as the core menu, and use a labeling method you can correct instantly. A printed menu locks yesterday's information in place; a digital menu can be corrected the moment the kitchen changes.