The formula for a Contains line
The simplest compliant version is the word "Contains" followed by the names of the allergen sources: "Contains: milk, egg, peanuts." FDA also accepts extra wording, as long as three conditions hold:
- The first word is "Contains", with a capital C. Bold and punctuation, like the colon, are optional
- The allergens carry the names the law uses. Singular is fine ("walnut" for "walnuts"), and "soy" or "soya" may replace "soybeans"
- Every major food allergen in the food or its ingredients is named, not just the ones the ingredient list missed
Two more rules come straight from the law: the line goes immediately after or next to the ingredient list, and its type is no smaller than the type of the list.
What to call each allergen
| Allergen | Write | Watch out for |
|---|---|---|
| Milk | milk | Goat or sheep milk: "goat milk", "sheep milk" |
| Eggs | egg or eggs | Duck, quail or other fowl: "duck egg" |
| Fish | the species: cod, salmon, anchovy | "fish" alone is not enough |
| Crustacean shellfish | the species: shrimp, crab, lobster | "shellfish" alone is not enough |
| Tree nuts | the nut: almonds, cashews, pecans | "tree nuts" alone is not enough; coconut is not on FDA's list |
| Peanuts | peanuts or peanut | Peanuts are not tree nuts; name them separately |
| Wheat | wheat | Spelt, durum, semolina, einkorn and triticale are all wheat |
| Soybeans | soy, soya, soybean or soybeans | Soy lecithin in chocolate is the classic hidden source |
| Sesame | sesame | Tahini, and sesame inside a spice blend |
For the Contains line, FDA lets you use a fish's generic name, like "salmon" for chum salmon, even though the ingredient list uses the market name.
Allergen statement examples
Here is how the line comes out for ten different foods. Each one shows a different rule at work.
| Product | Allergen ingredients in the recipe | Allergen statement | Why |
|---|---|---|---|
| Chocolate chip cookies | Wheat flour, butter, eggs, chocolate chips with soy lecithin | Contains: wheat, milk, eggs, soy. | Butter never says "milk"; the soy is inside the chips |
| Basil pesto | Parmesan, pine nuts | Contains: milk, pine nuts. | The tree nut is named, not "tree nuts" |
| Caesar dressing | Anchovies, egg yolks, parmesan | Contains: anchovy, egg, milk. | The fish is named by species |
| Crab cakes | Crab, bread crumbs, mayonnaise with eggs | Contains: crab, wheat, egg. | Shellfish by species; the bread crumbs bring the wheat |
| Hummus | Tahini | Contains: sesame. | Tahini is made from sesame seeds |
| Trail mix | Almonds, cashews, peanuts | Contains: almonds, cashews, peanuts. | Each nut is listed; peanuts stand on their own |
| BBQ dry rub | Sesame inside "spices" | Contains: sesame. | Or write "spices (sesame)" in the list |
| Goat cheese spread | Goat cheese | Contains: goat milk. | Name the animal for milk other than cow's |
| Coconut macaroons | Coconut, egg whites | Contains: egg. | Coconut stays in the ingredient list but not in this line |
| Rice crackers | Wheat flour dusted on the belt as a processing aid | Contains: wheat. | Incidental additives still need declaring |
Where the allergen statement goes
| Your package | Put the Contains line |
|---|---|
| A normal label with an ingredient list | Immediately after the list, or next to it |
| A single-ingredient food with no list, like "pecans" | FDA recommends right above the name and address of the maker, packer or distributor |
| Inner units of a multipack with no ingredient list | Near the product name on each unit, unless the unit is a plain, unprinted sleeve |
| A dietary supplement without an ingredient list | Outside the Supplement Facts panel, right after or next to it |
The ingredient list itself must be at least 1/16 inch tall, measured on a lowercase o, and the Contains line can't be smaller than the list. In practice they're set in the same size, one after the other.
Do you need an allergen statement at all?
Not always. If your ingredient list already names the source of every allergen, through names like "wheat flour" or parentheses like "whey (milk)", the law is met without a Contains line.
Many makers add one anyway, because shoppers look for it. Just remember the trade: the moment you print a Contains line, it has to repeat every allergen, including those the list already names.
Mistakes that make the line non-compliant
- "Contains: tree nuts" or "Contains: shellfish" instead of the specific kind
- A partial list: only the allergens the ingredient list didn't already show
- Adding sulfites, coconut, mustard or other things outside the nine. Put those in a separate statement if you want to mention them
- Listing allergens that aren't in the recipe, just to be safe
- Printing "Contains milk" and "may contain milk" on the same product
- Putting traces from shared equipment in the Contains line. That's cross-contact, not an ingredient
- Setting the line in smaller type than the ingredient list
Allergen statement vs. "may contain"
The Contains line declares what you put in the food, and the law requires it in one of its two forms. A "may contain" line warns about what might get in by accident. It's voluntary, it must be truthful, and it never replaces good manufacturing practice. Keep the two apart on the label.
"May Contain" Allergen Labeling →Let the label maker write the line
- Flags all 9 major allergens from your recipe, including sub-ingredients like the soy lecithin in chocolate chips
- Names the specific tree nut, fish or shellfish in the Contains line
- Lets you add an allergen by hand when a supplier's label shows one
- Prints INGREDIENTS and CONTAINS under the Nutrition Facts in the same 9 point type
