To check if food is vegan, look for a vegan logo, read the emphasised allergens for milk, egg and fish, scan the ingredient list for hidden ingredients like gelatine, decode ambiguous E-numbers, and treat "may contain" lines as allergen advice. Or just scan the barcode with a free app.
That's the whole method in one sentence. The rest of this guide walks through each step in detail, shows you the ingredients that trip up even experienced label readers, and explains when a warning matters and when it doesn't. Bookmark it: every other guide on this site drills into one of these steps.
How to tell if food is vegan: the 5-step method
- Look for a certified vegan logo. If it's there, you're done.
- Check the allergen line: bolded milk, egg or fish is an instant "no".
- Read the full ingredient list, hunting for hidden animal ingredients like gelatine, carmine and honey.
- Decode ambiguous additives. E-numbers such as E471 and E322 can go either way.
- Interpret "may contain" warnings correctly; they're about cross-contamination, not ingredients.
Restaurant food adds a process check because there may be no package to read. A familiar example is French fries: the potato may be plant-based while seasoning, animal fat or a shared fryer changes the answer.
Step 1: Look for a certified vegan logo
A genuine, current vegan certification can provide evidence against its published standard. The Vegan Society trademark, a V-Label explicitly marked vegan and the Certified Vegan logo are different schemes; read their criteria and match the exact product. Certification is not an allergy-safety guarantee. Our certification guide links the schemes and explains their limits.
The catch: certification costs money, so plenty of vegan products never apply. A missing logo tells you nothing. Some of the best finds are accidentally vegan snacks that have never carried one. And beware the lookalikes: a green leaf icon, "plant-based" or "vegetarian" branding are marketing, not certification. If there's no trusted logo, keep going.
Step 2: Use the allergen line shortcut
This is the fastest manual check, and most people skip it. Food law forces manufacturers to make animal allergens easy to spot.
In the EU and UK, Regulation (EU) No 1169/2011 requires 14 major allergens, including milk, eggs, fish, crustaceans and molluscs, to be emphasised in the ingredient list, usually in bold. In the US, FDA rules under FALCPA require nine major allergens (milk, egg, fish and crustacean shellfish among them, with sesame added from January 2023) to be declared in plain English, often in a "Contains:" statement under the ingredients.
So before reading anything else, scan for bold text or the Contains line. Milk, egg, fish, crustaceans, molluscs = not vegan. Ten seconds, no memorisation.
The allergen line can tell you when a product isn't vegan — but only the full ingredient list can tell you when it is.
Why it is not enough on its own: honey, conventional gelatine, carmine and shellac are not generally among the named mandatory major allergens. They still need a separate ingredient check. Lack of allergen emphasis does not establish vegan suitability, and voluntary formatting does not change an ingredient’s source.
Step 3: Scan the ingredient list for hidden animal ingredients
Now read the whole list, top to bottom. Most non-vegan surprises come from a short list of repeat offenders. There's a longer list in hidden animal ingredients, but these are the ones you'll actually meet in the supermarket:
| Ingredient | Comes from | Commonly found in |
|---|---|---|
| Gelatine (E441) | Animal skin and bones | Gummies, marshmallows, some yogurts |
| Casein, whey, lactose | Milk | Crisps, protein bars, baked goods |
| Carmine / cochineal (E120) | Crushed cochineal insects | Red sweets, drinks, sauces |
| Shellac (E904) | Lac insect resin | Glazed sweets, shiny fruit coatings |
| L-cysteine (E920) | Mostly feathers, hog bristles or human hair | Industrial bread and bagels |
| Honey, beeswax (E901) | Bees | Cereals, snack bars, glazes |
| Isinglass | Fish swim bladders | Wine and beer fining (rarely on the label) |
| Vitamin D3 | Usually lanolin from sheep's wool | Fortified cereals, spreads, drinks |
| Omega-3 (EPA/DHA) | Often fish oil | Fortified juices, margarines |
A few of these deserve extra caution. Vitamin D3 can be animal-derived or vegan; a missing source declaration leaves the question open. "Natural flavours" can hide either plant or animal sources, and even sugar raises questions in some countries because of bone-char refining. When a word on the list means nothing to you, that's your cue to look it up (or let an app do it).
Step 4: Decode ambiguous additives and E-numbers
Some additives are always animal-derived, some never are, and an annoying middle group depends on the batch. All of them sit in the complete E-number checker list; these are the big five:
| Additive | Status | What to know |
|---|---|---|
| E120 (carmine) | Never vegan | Red dye made from cochineal insects |
| E441 (gelatine) | Never vegan | Gelatine listed under its E-number |
| E904 (shellac) | Never vegan | Glazing resin secreted by lac insects |
| E471 (mono- and diglycerides) | Ambiguous | Usually plant fat today, but can be animal fat |
| E322 (lecithin) | Ambiguous | Soy or sunflower is plant-derived; unspecified lecithin needs a source check |
For the ambiguous ones, the label sometimes rescues you: "emulsifier: E471 (vegetable)" or "sunflower lecithin" settles it. When the source isn't declared, seek a relevant certification or a dated manufacturer answer. A database is useful only to the extent that its underlying evidence is current and matches the product.
Instead of memorising E-numbers and obscure ingredient names, let the scanner do steps 3 and 4 for you:
- Open VeganCheckr and tap Scan, then point your camera at the product barcode.
- No barcode? Use ingredient scan to photograph the printed ingredient list instead.
- Read the verdict. Flagged ingredients and additives like E120 or E471 are listed with the reason, and E471/E322 aren't falsely flagged when a plant source is declared.
Step 5: Read "may contain" warnings for what they are
"May contain milk" and "made in a facility that handles egg" are precautionary allergen labels. They are voluntary, unregulated in wording, and describe possible cross-contamination on shared equipment, not ingredients that were added to the recipe.
That distinction matters. The Vegan Society will certify a product carrying a "may contain milk" warning, provided the manufacturer minimises cross-contamination as far as possible. That's because veganism, by their definition, is about avoiding animal use, and trace contact isn't an ingredient choice. Many long-time vegans buy these products without a second thought; others prefer to avoid them. Both are reasonable, as long as you don't mistake the warning for a verdict.
If you also have a milk or egg allergy, the calculation changes completely: take precautionary labels seriously and follow medical advice, because "vegan" labelling is not an allergen-safety guarantee. That distinction gets more room in the field guide to reading food labels as a vegan.
The scanner shortcut: an app to check if food is vegan
The five steps above work anywhere, on any label. But in a supermarket aisle, running them manually on every product gets old fast, which is exactly the problem a scanner app solves. VeganCheckr runs the whole method in one pass: scan the barcode and you get a vegan, vegetarian or non-vegan verdict with evidence, meaning the exact flagged ingredients and additives rather than just a coloured badge.
VeganCheckr can help identify named ingredients and source-dependent additives. For cheese, compare the rennet evidence with the exact product. If a barcode has no record, photograph its printed ingredients or use the ingredient-checking workflow. Features and optional Premium access differ between iPhone and Android. No account is required, but product lookups, purchases and paywalls can involve third-party data processing: read the privacy notice. Our scanner comparison compares documented features, not independently tested accuracy.
What about food without a label?
Restaurant dishes, bakery bread and drinks are where label reading hits its limits. Ask about the classics: butter and milk in bread and pastry, honey in dressings and desserts, parmesan (animal rennet) in pesto and pasta dishes, fish sauce in fermented dishes such as kimchi, and anchovies in Worcestershire sauce. Wine and beer need a process check: fining materials may not be disclosed on the bottle. A current producer statement or appropriate certification can help; a database record is not the only route or a guarantee.
When you're somewhere unfamiliar, VeganCheckr's Vegan Map shows nearby vegan-friendly restaurants and shops, and your scan history keeps working offline, which helps when you're abroad without data.
Frequently asked questions
What is the fastest way to check if food is vegan?
Scan the product's barcode with a free scanner app like VeganCheckr. You get a vegan, vegetarian or non-vegan verdict in seconds, with the exact flagged ingredients and additives shown as evidence. For products without a barcode, photograph the printed ingredient list instead.
Does 'may contain milk' mean a product is not vegan?
Not necessarily. 'May contain' is a voluntary cross-contamination warning aimed at allergy sufferers, not a statement about ingredients. The Vegan Society certifies products that carry may-contain warnings, provided cross-contamination is minimised. Whether to avoid such products is a personal choice.
Can food be vegan without a vegan label?
Yes. Certification costs money, so many products with entirely plant-based ingredients carry no logo. If there is no vegan label, check the allergen line for milk, egg and fish, then read the full ingredient list for hidden animal ingredients such as gelatine, carmine and honey.
Is 'suitable for vegetarians' the same as vegan?
No. Vegetarian products can contain milk, eggs, honey and other animal by-products. A vegetarian label only tells you the product contains no meat, fish or slaughter by-products such as gelatine. You still need to check for dairy and egg.
Which E-numbers are never vegan?
E120 (carmine, made from cochineal insects), E441 (gelatine, from animal skin and bones), E901 (beeswax) and E904 (shellac, from lac insects) are always animal-derived. Others, such as E471 and E322, depend on whether the source was plant or animal.
Check the product, not just the category
If your question is vegetarian rather than vegan, use the vegetarian ingredient checklist: egg, dairy and animal rennet need different treatment. For meals out, start with dashi in miso soup, milk bases and toppings in bubble tea, or fries, cooking fats and shared fryers. The travel shopping guide explains how to use this process away from home.
Match a claim to its issuer
Use the certification and food-claim comparison when a packet has an unfamiliar mark. It explains how to look up a registered product and why neither an app nor a leaf symbol grants certification.
Choose a scanner by the evidence you need
The Open Food Facts comparison explains shared barcode data and why two matching answers may not be independent confirmation. For wider shopping, our Vegan Pocket comparison separates food ingredients from cosmetics, clothing and animal-testing-policy questions.
Check the label on your own product
VeganCheckr scans barcodes and ingredient labels, flags hidden animal ingredients and E-numbers, and shows you the evidence. Free to download on the App Store and Google Play. Optional Premium features vary by platform.
Scan with your iPhone camera