Declare the nine major food allergens the way the law requires, and tell a labeling job apart from the cross-contact controls no "may contain" warning can replace.
Chef Diego runs a real food plant. If this page didn't get you there, tell us — a person reads every message.
By the end of this lesson you can name all nine major food allergens, declare each
one on your label the exact way the statute allows, and — just as important — tell
the difference between a labeling problem you fix with words and a cross-contact
problem you can only fix on the line. An undeclared allergen is one of the surest
paths to a recall, and it is also one of the most avoidable, because the rule is
short and concrete. This lesson works it in the order you'd use it: which
allergens count, how to write the declaration, and where labeling stops and
controls begin.
The nine, and why the count is exactly nine
United States law singles out a short list of foods that cause most serious
allergic reactions and requires them to be spelled out on the label. A
is defined at
21 U.S.C. 321(qq) (verified July
2026), and the list is now nine:
milk
egg
fish
crustacean shellfish
tree nuts
wheat
peanuts
soybeans
sesame
Sesame is the newest. It became the ninth major food allergen under the FASTER
Act, effective January 1, 2023
(FDA,
verified July 2026). Any allergen list, label template, or supplier spec written
before that date counts eight and is out of date — the count is the first thing to
check.
Leaving one of the nine off the label when it's in the food makes the product
under section 403(w) of the Federal Food, Drug, and Cosmetic Act
(21 U.S.C. 343(w)). Same rule
the anatomy of a compliant label
lesson opened with: the food can be safe for most people and the label can still
break the law.
Name the source, and for three of them the species
The declaration is by food source, not by a chemistry name. Three of the nine
are categories, and for those you name the specific one, because "tree nut" or
"fish" alone doesn't tell an allergic shopper what to avoid. The statute's own
examples make the point: fish means bass, flounder, or cod; crustacean shellfish
means crab, lobster, or shrimp; tree nuts means almonds, pecans, or walnuts
(21 U.S.C. 321(qq)). So you declare "almond," not "tree nut"; "shrimp," not
"shellfish"; "cod," not "fish."
Highly refined oils are carved out
The statute excludes a highly refined oil derived from one of the nine foods,
and any ingredient made from that oil (21 U.S.C. 321(qq)(2)). So highly refined
soybean oil is not treated as a major food allergen. Cold-pressed, expeller-
pressed, and extruded oils are a different story, and so is every non-oil
ingredient — a carve-out for refined oil is not a carve-out for the food.
Two ways to declare, and the rule that ties them together
The statute gives you exactly two ways to put a major food allergen on the label,
and you can read them straight out of
21 U.S.C. 343(w)(1):
In the ingredient list, in parentheses. Put the food source in parentheses
right after the ingredient that carries it — "whey (milk)," "lecithin (soy),"
"semolina (wheat)."
In a "Contains" statement. Write the word "Contains" followed by the food
sources, immediately after or next to the ingredient list, in type no smaller
than the type used in the ingredient list itself — "Contains: milk, soy,
wheat."
Pick one method per allergen and be consistent. And here is the rule that trips
people who mix the two: if you use a "Contains" statement, it has to name every
major food allergen in the product, not just the ones that weren't obvious in
the ingredient list (FDA's
guidance on food allergen labeling,
verified July 2026). You can't list "Contains: milk" and leave the soy to be
inferred from the ingredient list. Once the statement exists, it's the complete
picture or it's misleading.
Two more habits that keep the declaration clean:
Don't repeat what's already plain. If the ingredient's common name already
carries the source word — "wheat flour," "soy sauce," "peanuts" — you don't add
a redundant parenthetical for that ingredient. It's the hidden ones that need
help: whey and casein (milk), semolina and durum (wheat), albumin (egg),
lecithin (soy).
Don't crowd the "Contains" line with things that aren't on the list. A
"Contains" statement is for the nine. Adding "Contains: garlic" or a
sensitivity that isn't a major food allergen buries the signal the statement
exists to send.
The line between an ingredient and cross-contact
This is the distinction that decides half of allergen recalls, so it's worth being
precise. The labeling rule above is about allergens you put in on purpose —
ingredients. It says nothing about an allergen that ends up in the food by
accident.
That accident has a name.
is the
allergen version of contamination: peanut dust from the line that ran before
yours, milk residue left on a mixer, a shared sifter that moves wheat into a
gluten-free batch. FDA defines it as unintentional incorporation, tied to how a
facility actually operates
(FDA CPG Sec. 555.250,
verified July 2026).
The reason to separate the two: cross-contact is not a labeling problem, and you
can't solve it by adding a line to the label. You solve it on the floor — with
dedicated or well-sequenced equipment, scheduled cleaning between products,
segregated storage, and checking incoming ingredients for an allergen a supplier
quietly reformulated in. That's operations work, and it's covered in depth later:
receiving with QC
is where you catch an undeclared allergen arriving in a raw material, and
process, allergen, and sanitation controls in practice
is where the allergen control becomes a documented part of your food-safety plan.
For now, hold the split: ingredients go on the label; cross-contact gets
controlled.
"May contain" is a warning, not a shield
Every operator eventually asks whether a "may contain peanuts" line covers them if
some peanut slips in. It doesn't, and it's worth knowing exactly why.
is not required by law and not defined by
it. FDA's position is that such a statement has to be truthful and not misleading,
and — this is the part that matters — it is not a substitute for good
manufacturing practices to prevent cross-contact (FDA CPG Sec. 555.250, verified
July 2026). You can't run a line you know spreads peanut, slap "may contain
peanuts" on the box, and call the hazard handled. If the cross-contact is
reasonably likely, the fix the rule expects is the control, not the warning.
An advisory statement doesn't undo an ingredient
Precautionary labeling only ever speaks to accidental presence. If an allergen
is actually an ingredient, "may contain" is the wrong tool and doesn't make the
label compliant — that allergen still has to be declared as an ingredient or in
the "Contains" statement. Use the advisory line only for a genuine, controlled-
as-far-as-practical cross-contact risk, never to soften a declaration you owe.
The sesame question, and why some brands just added it
When sesame joined the list, a lot of bakeries and manufacturers hit a hard
problem: sesame is fine and sticky, it gets everywhere, and cleaning a line well
enough to call a product sesame-free is genuinely difficult. So a number of
companies did something that surprised shoppers — rather than control the
cross-contact, they intentionally added sesame to products that never had it,
then simply declared it. That's legal: an added ingredient, honestly labeled, is a
compliant label.
FDA has said plainly that it does not support the practice, because it shrinks
the shelf for people with a sesame allergy — the exact people the law was meant to
protect — and the agency has pointed manufacturers toward controlling
cross-contact instead of reformulating to declare
(FDA,
verified July 2026).
For a small maker the lesson isn't the sesame workaround itself — it's the shape of
the choice behind it. Every allergen you can keep off a line is a market you keep
open. Adding an allergen to dodge a cleaning problem is the last resort, not the
first move, and reaching for it closes a door on customers you could have kept.
Get it on the label, then keep checking
Work the allergen question in order: confirm which of the nine are in your product,
name each by its food source — the specific species for fish, shellfish, and tree
nuts — and declare it either in parentheses in the ingredient list or in a complete
"Contains" statement. Then step off the label and ask the harder question: which of
those allergens could reach a product they don't belong in, and what on your floor
keeps them out.
Keep one habit for good: this list and these rules move — sesame is proof — so
confirm the current major-allergen list and declaration format against
FDA's food allergen labeling guidance
before you finalize a label, rather than copying a box off the shelf. With
allergens declared, the last thing the label can get you on is the claims you
choose to print — "gluten-free," "natural," "made with" — each of which is its own
regulated promise, and the subject of the next lesson in this course.