ReciLabel โ€บ Guides โ€บ Allergen declaration

Allergen labeling: the nine allergens, and the two legal ways to declare them

Nutrition labeling has a small-business exemption. Allergen labeling does not work the same way โ€” it comes from a different part of the statute, and getting it wrong is the fastest route from a shipping pallet to a recall. This page covers the list, the two declaration methods the statute allows, and the requirement that most small producers' labels fail: naming the specific nut, fish or shellfish rather than the category.

1. Why this is the one requirement not to improvise

The findings Congress wrote into FALCPA in 2004 are the plainest statement of the stakes. In a review of randomly selected baked goods, ice cream and candy manufacturers in Minnesota and Wisconsin in 1999, FDA found that 25 percent of sampled foods failed to list peanuts or eggs as ingredients on the label. Nationally, the number of recalls because of unlabeled allergens had risen to 121 in 2000, from about 35 a decade earlier. Those figures are dated and they come from the statute, not from a marketing page โ€” but they describe a failure mode that has not gone away, because it is caused by ingredient names rather than by carelessness.

The mechanism is simple. Ingredients are declared by their common or usual name, and the common or usual name often does not say where the ingredient came from. "Tahini" is sesame. "Whey" is milk. "Semolina" is wheat. "Lecithin" is usually soy. A reader who is allergic has no way to know, which is the entire reason this rule exists.

2. The nine

The legal term is major food allergen, defined at 21 U.S.C. 321(qq)(1). FALCPA added eight; the Food Allergy Safety, Treatment, Education, and Research (FASTER) Act added sesame, effective January 1, 2023.

#AllergenWhere it hides
1Milkwhey, casein, ghee, butter, buttermilk, milk solids
2Eggalbumin, mayonnaise, some glazes
3FishWorcestershire sauce, some Caesars, anchovy paste
4Crustacean shellfishshrimp, prawn, crab, lobster, crayfish
5Tree nutsalmond, walnut, pecan, cashew, pistachio, hazelnut, macadamia, brazil nut, chestnut, pine nut
6Peanutsgroundnut, some cold-pressed oils
7Wheatflour, semolina, durum, farro, spelt, couscous, bulgur
8Soybeanssoy lecithin, tofu, edamame, some vegetable proteins
9Sesametahini, sesame oil, sesame flour, some spice blends

Two notes on that table. First, the parenthesised examples of fish and Crustacean shellfish in the statute are "bass, flounder, or cod" and "crab, lobster, or shrimp" โ€” the list of nuts above is the one our own ingredient scanner checks against, and it is a practical subset, not a statutory list. Second, the category is Crustacean shellfish. Clams, oysters, mussels, scallops, squid and octopus are molluscs, and molluscan shellfish is not one of the nine. Declaring them is allowed; the law does not require it, and a guide that tells you otherwise is teaching you a rule that does not exist.

3. What else falls inside the definition

The definition does not stop at whole foods. 21 U.S.C. 321(qq)(2) brings in any food ingredient that contains protein derived from one of the nine โ€” and then removes two things from it:

So "highly refined" is doing real work: highly refined soybean oil is outside the definition, cold-pressed peanut oil is not. This is not a distinction you can make from an ingredient's name, and it is one of the reasons the scanner described in section 9 produces a starting point rather than a finished declaration.

4. The two permitted ways to declare

21 U.S.C. 343(w)(1) sets out two alternatives. You need one of them, not both:

MethodWhat it looks likeConditions
(w)(1)(A) โ€” a "Contains" statementIngredients: oats, honey, almonds, butter. Contains: Milk, Almonds.Printed immediately after or adjacent to the ingredient list, in a type size no smaller than the type size used in the ingredient list
(w)(1)(B) โ€” parenthetical in the ingredient listIngredients: oats, honey, almonds (tree nut), butter (milk)The common or usual name of the allergen is followed in parentheses by the food source

Within method (B) there is a further relaxation. The parenthetical is not required when the common or usual name of the ingredient already uses the food source name โ€” "buttermilk" needs no "(milk)" after it โ€” or when the food source name already appears elsewhere in the ingredient list. That second carve-out has a carve-out of its own: it does not apply if the name elsewhere in the list appears as part of the name of an ingredient that is not a major food allergen under 321(qq)(2)(A) or (B). Read that as: finding the word "soy" inside the name of a highly refined oil does not satisfy the requirement for a different soy ingredient.

5. The rule most labels get wrong: name the specific kind

21 U.S.C. 343(w)(2) is short and absolute. For a tree nut, fish, or Crustacean shellfish, the "name of the food source from which the major food allergen is derived" means the name of the specific type of nut or species of fish or Crustacean shellfish.

Which makes these four declarations wrong, and one right:

DeclarationCompliant?Why
Contains: tree nutsNoA category, not a specific type of nut
Contains: nutsNoSame problem, and it collides with peanut
Contains: fishNoNo species named
Contains: shellfishNoCreates the opposite problem: molluscs are not a major food allergen at all
Contains: Milk, AlmondsYes"Milk" is the food source for butter; "Almonds" is the specific type of nut

Note what happened in the compliant example. The recipe contains butter, and the declaration says Milk โ€” because (w)(1) asks for the name of the food source, not the name of the ingredient. Naming the specific kind applies to the three categories in (w)(2) and to nothing else: for milk, egg, wheat, soy, peanut and sesame the category is the food source.

This is the failure mode that is hardest to see, because "Contains: tree nuts" looks careful. It is the one a customer's auditor will find.

6. Flavorings and "natural flavor" are not a way out

Ingredients can normally be declared as classes โ€” "spices", "natural flavor", "coloring" โ€” and incidental additives can be exempt from the ingredient list altogether. 21 U.S.C. 343(w)(4) closes that door for allergens: notwithstanding those provisions or any other law, a flavoring, coloring or incidental additive that is, or that bears or contains, a major food allergen is subject to the allergen labeling requirements. That is why "natural flavor (sesame)" and "tahini (sesame)" appear on real labels.

7. Where the requirement does not reach

The scope matters as much as the rule, and this is where guides tend to overstate. The requirement does not cover:

If your product is a packaged food sold to a consumer, assume none of those exemptions apply to you. If you are selling at a farmers' market in a container you filled and labelled, the last point does not save you either โ€” the exemption is about food that is not pre-packaged, and yours is.

8. "May contain" โ€” voluntary, and not a substitute for anything

Separate from the nine is the advisory statement: "may contain peanuts", "produced in a facility that also uses tree nuts". These address cross-contact during shared production, and the statute does not require them. FDA's guidance to industry adds two constraints worth quoting in substance: an advisory statement should not be used as a substitute for adhering to current good manufacturing practices, and it must be truthful and not misleading. An advisory statement you cannot justify is worse than none, because it is a claim of your own making.

The honest position. A "may contain" line is a statement about your facility, not about your recipe. No calculator can decide it for you, and this site does not attempt to. Everything below is about the ingredient-derived part of the rule, which is the part that can be derived.

9. What the builder on this site does, and does not do

The ingredient statement and allergen line are part of Pro. The logic scans the ingredient names in your recipe and applies the rule above. Run against the site's own worked example โ€” the honey almond granola used across these guides โ€” the result is:

Ingredient as enteredScans as
Cereals, oats, regular and quick, not fortified, dryโ€”
Honeyโ€”
Sugars, brownโ€”
Nuts, almondsAlmonds
Raisins, dark, seedlessโ€”
Butter, without saltMilk
Resulting lineContains: Milk, Almonds.

Three things about that output are deliberate:

What it does not do: it does not know about highly refined oils and the 321(qq)(2)(A) carve-out, it does not know whether your ingredient is a flavoring or an incidental additive, it cannot compose an advisory statement, and it cannot tell you that an ingredient list is complete. Treat the output as a draft that encodes the rule โ€” then read it against your own ingredient list before it goes to print. The builder says so on the page, which is why that line reads "verify manually before printing".

10. Five ways this goes wrong

#MistakeWhat it costs
1Declaring "tree nuts", "fish" or "shellfish" instead of the specific type or speciesFails 343(w)(2) even though it looks more careful than a specific name
2Printing the ingredient word as the allergen โ€” "Contains: Butter"343(w)(1) requires the food source; the correct word is "Milk"
3Putting molluscs (clams, oysters, squid) in the allergen list as if requiredTeaches the customer a rule that does not exist; the real risk is a missed crustacean instead
4Setting the "Contains" line in a smaller type size than the ingredient listExplicitly prohibited by 343(w)(1)(A), and it is the kind of thing a label review catches immediately
5Relying on "may contain" to cover an allergen that is genuinely in the recipeAdvisory statements are for cross-contact. For an intentionally added allergen they are false

The nutrition side of the label โ€” serving size, rounding, the panel itself โ€” is covered in the serving size and reference amounts guide, the rounding-rules reference and calculating nutrition facts from a recipe.

Get the statement and the allergen line as a starting point

Enter your ingredients and the builder produces a weight-ordered ingredient statement and an allergen line that applies the specific-naming rule. Free to start; your recipe never leaves your browser.

Build my label โ€” free Pro ยท $19 once