Tool · Allergens

Check an ingredients list for allergens

Paste an ingredients list — Foodlex marks the 14 allergens listed in Annex II of Regulation (EU) No 1169/2011. Free, no sign-up, and everything stays in your browser.

Processed in your browser — nothing is sent anywhere.

A first pass based on word patterns, not a legally binding declaration. An empty result is no guarantee that a product is free from allergens. Before you print a label, have the allergen list verified by a qualified person against the actual recipe.

The 14 allergens of Annex II

Annex II of Regulation (EU) No 1169/2011 lists 14 groups of “substances or products causing allergies or intolerances”. The checker looks through your text for typical ingredients and word parts belonging to each group. The table gives the wording of the Regulation — including the exemptions Annex II expressly provides for; the number leads to the full guide:

No. Designation in Annex II Except
1 Cereals containing gluten, namely: wheat (such as spelt and khorasan wheat), rye, barley, oats or their hybridised strains, and products thereof, except:
  • wheat based glucose syrups including dextrose
  • wheat based maltodextrins
  • glucose syrups based on barley
  • cereals used for making alcoholic distillates including ethyl alcohol of agricultural origin
2 Crustaceans and products thereof —
3 Eggs and products thereof —
4 Fish and products thereof, except:
  • fish gelatine used as carrier for vitamin or carotenoid preparations
  • fish gelatine or Isinglass used as fining agent in beer and wine
5 Peanuts and products thereof —
6 Soybeans and products thereof, except:
  • fully refined soybean oil and fat
  • natural mixed tocopherols (E306), natural D-alpha tocopherol, natural D-alpha tocopherol acetate, and natural D-alpha tocopherol succinate from soybean sources
  • vegetable oils derived phytosterols and phytosterol esters from soybean sources
  • plant stanol ester produced from vegetable oil sterols from soybean sources
7 Milk and products thereof (including lactose), except:
  • whey used for making alcoholic distillates including ethyl alcohol of agricultural origin
  • lactitol
8 Nuts, namely: almonds (Amygdalus communis L.), hazelnuts (Corylus avellana), walnuts (Juglans regia), cashews (Anacardium occidentale), pecan nuts (Carya illinoinensis (Wangenh.) K. Koch), Brazil nuts (Bertholletia excelsa), pistachio nuts (Pistacia vera), macadamia or Queensland nuts (Macadamia ternifolia), and products thereof, except for nuts used for making alcoholic distillates including ethyl alcohol of agricultural origin —
9 Celery and products thereof —
10 Mustard and products thereof —
11 Sesame seeds and products thereof —
12 Sulphur dioxide and sulphites at concentrations of more than 10 mg/kg or 10 mg/litre in terms of the total SO₂ which are to be calculated for products as proposed ready for consumption or as reconstituted according to the instructions of the manufacturers —
13 Lupin and products thereof —
14 Molluscs and products thereof. —

The Regulation also names exceptions within some groups — for example wheat-based glucose syrups, fully refined soybean oil and fish gelatine used as a fining agent. The checker does not apply those exceptions; it flags the group and leaves the judgement to you.

How the check works — and where it stops

The checker matches your text against patterns for each allergen group (for example wheat, butter, soy lecithin) and takes simple exclusions such as “gluten-free” into account. It is deliberately permissive — better one allergen too many than one missed. Hits marked medium (for example sulphites in wine or dried fruit) deserve a closer look.

What the check cannot do: find hidden allergens that never appear in the ingredients text (celery inside a mixture declared only as “spices”, say), or make the legal assessment of your particular recipe.

It understands German too. The patterns cover both languages, so a German ingredients list works just as well as an English one.

What the Regulation requires on the label

Naming the allergen is not enough on its own. Article 21(1)(b) says the name of the substance or product as listed in Annex II “shall be emphasised through a typeset that clearly distinguishes it from the rest of the list of ingredients, for example by means of the font, style or background colour”. In practice that usually means setting the allergen in bold inside the ingredients list — not the whole ingredient, but the Annex II name within it.

Diagram: emphasis goes on the Annex II name. In „wheat flour, type 1050“ only
                   „wheat“ is bold; in „milk powder“ only „milk“. „Butter“ is bold in full because
                   the word itself names an Annex II product.
The emphasis marks the allergen name from Annex II — not necessarily the whole ingredient.
Diagram: Foodlex. Wording from Regulation (EU) No 1169/2011 and Commission Notice 2017/C 428/01, paragraph 16.

How an allergen is emphasised — and what usually goes wrong

The Regulation does not prescribe a means, it prescribes a result. Article 21(1)(b), in its own words:

“the name of the substance or product as listed in Annex II shall be emphasised through a typeset that clearly distinguishes it from the rest of the list of ingredients, for example by means of the font, style or background colour.”

Bold is customary but not required — capitals, italics or a shaded background satisfy the rule just as well. What is fixed is the what: what gets emphasised is the name as listed in Annex II, not the whole ingredient word.

Ingredient in the recipe right common mistake
Wheat flourWheat flourWheat flour — “flour” is not in Annex II
HazelnutsHazelnutsNuts — No. 8 names the species, not the group
Skimmed milk powderSkimmed milk powdernot marked at all, because “milk” already appears at the butter
Peanut oilPeanut oiltreated as a nut — the peanut is No. 5, not No. 8

🔴 Foodlex made the mistake in row one itself, on 13 September 2026: the emphasis set the whole word in bold instead of only the Annex II name. Fixed — but it shows how close the two versions sit.

Three ingredients, one source — each one is marked

Where several ingredients come from the same allergen, one emphasis is not enough. Article 21(1), third subparagraph:

“Where several ingredients or processing aids of a food originate from a single substance or product listed in Annex II, the labelling shall make it clear for each ingredient or processing aid concerned.”

In a batter with butter, skimmed milk powder and cream that is three places from No. 7 — and all three belong marked. The checker above reports each separately, for exactly that reason.

Four cases where something else applies

1. There is no list of ingredients

Then there is nothing to emphasise anything in. The Regulation replaces the emphasis with a statement of its own: the word ‘contains’ followed by the name as listed in Annex II (Article 21(1), second subparagraph).

2. The name of the food already says it

With “peanut butter” everybody knows peanuts are in it. The indication is then “not required in cases where the name of the food clearly refers to the substance or product concerned”. ⚠️ That relieves you of the statement — where a list of ingredients is given anyway, the emphasis inside it stays mandatory.

3. The substance is in the Annex II exemptions

Wheat-based glucose syrup, fully refined soybean oil, fish gelatine used as a fining agent in beer and wine: the table above carries them in the Except column. The qualifiers are what matters — “fully refined” means cold-pressed soybean oil cannot use the exemption.

4. Food sold without prepackaging

Over the counter the allergen information stays mandatory — it is the one particular that Article 44(1)(a) prescribes itself. Everything else the Regulation leaves to the member states.

What the checker cannot see

It reads text. Three limits follow from that, and none can be programmed away:

  • Compound ingredients. If the text says “spice mix”, nobody knows whether celery is in it — that lives in the supplier’s specification, not in the word.
  • Processing aids. Article 20 lets them fall out of the ingredient list, but they stay declarable where they are an allergen — the opening words are expressly “Without prejudice to Article 21”. What is not written down cannot be found by any checker.
  • Cross-contact. “May contain traces” is voluntary and depends on how you produce, not on the recipe. The Regulation does not govern it at all.

Frequently asked questions

Which allergens does the checker find?

The 14 allergens that must be declared under Annex II of Regulation (EU) No 1169/2011: cereals containing gluten, crustaceans, eggs, fish, peanuts, soybeans, milk, tree nuts, celery, mustard, sesame, sulphur dioxide and sulphites, lupin and molluscs.

Does the checker replace the legally binding allergen declaration?

No. The checker is a heuristic first pass based on word patterns, not a legally binding declaration. Before a label goes to print, the allergen list has to be verified against the actual recipe by someone qualified to do so.

Does the whole word have to be bold, or only part of it?

Only the name as listed in Annex II. In wheat flour that is “wheat” — “flour” stays in normal type, because it is not in Annex II. Article 21(1)(b) requires that “the name of the substance or product as listed in Annex II” be emphasised, not the ingredient.

Does the emphasis have to be bold?

No. The Regulation names font, style and background colour expressly as examples, behind a “for example” — the list is open. What is required is a result: the name must clearly distinguish itself from the rest of the list of ingredients.

Three ingredients come from milk. Is one marking enough?

No. Article 21(1), third subparagraph requires the labelling to “make it clear for each ingredient or processing aid concerned”. In a batter with butter, skimmed milk powder and cream, all three are marked.

Are nuts and peanuts the same thing?

No, and the confusion is common. Peanuts are botanically legumes and stand as their own entry, No. 5, in Annex II. No. 8 names eight nuts individually — almond, hazelnut, walnut, cashew, pecan, Brazil nut, pistachio, macadamia. The peanut is not among them, and neither is the coconut.

Are additives such as lecithin declarable?

It depends on the source. Soya lecithin comes from soybeans and falls under No. 6; sunflower lecithin does not. The same goes for starch, protein and flavouring: it is not the additive that decides but the material it was made from — thirteen of the fourteen entries in Annex II end with “and products thereof”.

Does “may contain traces” have to appear on the label?

No, that statement is voluntary. The Regulation does not govern it; it concerns cross-contact in production, not the recipe. Nor may it stand in for a missing mandatory declaration.

Is my ingredient text uploaded anywhere?

No. The detection runs entirely in your browser. The text you enter is never sent to a server.

This checker is general information and does not replace legal advice. What counts is the wording of the Regulation in force (Annex II of Regulation (EU) No 1169/2011). Wording checked against the consolidated English text, CELEX 02011R1169-20250401.