A vegan ingredient checker is any tool or technique that turns a wall of label text into a clear answer: vegan, not vegan, or "depends on the source." There are three ways to run the check: read the list yourself with a cheat sheet, type it into a checker, or photograph it and let OCR do the reading.
Why ingredient lists need checking at all
Animal ingredients rarely announce themselves. Casein hides behind "sodium caseinate," crushed insects behind "E120," and gelatin behind "hydrolyzed collagen." Databases of animal-derived label ingredients run to thousands of entries — far more than anyone can memorize.
Three things make manual reading genuinely hard:
- Aliases. One animal ingredient can appear under half a dozen names. Our guide to hidden animal ingredients lists the worst offenders.
- E-numbers. Additive codes hide the source completely. E441 is simply gelatin renamed; the full rundown is in our non-vegan E-numbers list.
- Ambiguity. Some ingredients — E471, lecithin, "natural flavors" — can come from plants or animals, and the label usually doesn't say which.
And some animal products never reach the label at all. Processing aids like isinglass (a fish-derived fining agent used in some beers and wines) can legally go unmentioned because they're filtered out, not added in.
Method 1: Read it yourself with a cheat sheet
The manual method is free, works everywhere, and gets fast with practice. Work in three passes:
- Check the emphasized words first. In the EU and UK, Regulation (EU) No 1169/2011 requires the 14 major allergens — including milk, egg, fish, crustaceans and molluscs — to be visually emphasized in the ingredient list, usually in bold. If no animal allergen is bolded, you've ruled out the most common offenders in two seconds.
- Scan for the 15 names below. They account for the large majority of flags in everyday groceries.
- Investigate anything ambiguous. "Check the source" entries need a manufacturer note ("of vegetable origin"), a vegan label, or a lookup.
The 15 most common flagged ingredients (cheat sheet)
| Ingredient | Also appears as | Typical source | Verdict |
|---|---|---|---|
| Gelatin | E441, gelatine, hydrolyzed collagen | Boiled animal skin and bones | Never vegan |
| Carmine | E120, cochineal, carminic acid | Crushed cochineal insects | Never vegan |
| Casein | Sodium/calcium caseinate | Milk protein | Never vegan |
| Whey | Whey powder, whey protein | Milk (cheese by-product) | Never vegan |
| Lactose | Milk sugar | Milk | Never vegan |
| Albumen | Albumin, egg white powder | Egg white | Never vegan |
| Honey | Honey powder | Bees | Not vegan |
| Shellac | E904, confectioner's glaze | Resin secreted by lac insects | Never vegan |
| Isinglass | Fish finings | Dried fish swim bladders | Never vegan |
| L-cysteine | E920 | Usually feathers, bristles or hair; synthetic exists | Usually not vegan |
| Mono- and diglycerides | E471 | Plant oils or animal fat | Check the source |
| Lecithin | E322 | Usually soy or sunflower; occasionally egg | Usually vegan — check |
| Vitamin D3 | Cholecalciferol | Usually lanolin from sheep's wool; lichen version exists | Usually not vegan |
| Natural flavors | Flavourings | Plant or animal — label doesn't say | Check the source |
| Rennet | "Enzymes" (in cheese) | Calf stomach lining or microbial | Check the source |
Two of these deserve a footnote. Most of the world's L-cysteine — a dough conditioner in commercial bread — is still made from keratin sourced from feathers, hog bristles or human hair, though synthetic and fermentation-based versions exist, according to the Vegetarian Resource Group. And vitamin D3 in fortified foods is typically derived from lanolin (sheep's wool grease), while vegan D3 from lichen is chemically identical but much rarer — assume wool unless the label says otherwise.
Method 2: Type or paste the list into a checker
If reading labels feels like homework, let a database do it. Browser tools such as Double Check Vegan and Veganify let you paste a full ingredient list and get a per-ingredient verdict — genuinely useful at a desk, for example when you're checking an online grocery order or a product page.
The limits show up in a store aisle. Retyping a 30-ingredient list on a phone keyboard is slow, typos break matching, and a plain yes/no without the reasoning leaves you none the wiser next time. A typed checker is the right tool for short lists and single ingredients ("is carminic acid vegan?"), less so for a crowded supermarket shelf.
VeganCheckr builds type-to-check into the app: enter one ingredient or paste an entire list, and each item is analyzed with the verdict and the reason shown — so you learn the pattern instead of just getting an answer.
Method 3: Photograph the label (OCR)
The third method removes the typing entirely. Point your camera at the printed ingredient list, and optical character recognition converts it to text, then runs the same per-ingredient analysis. It shines exactly where barcode databases fail: bakery items, market stalls, imported snacks with foreign-language labels, or any product whose barcode returns no match.
Three tips for a clean scan: flatten the label as much as the packaging allows, use decent light so small print resolves, and capture the whole list including the "contains" line at the end — that's where allergen summaries live.
Type it or photograph it — both run the same analysis:
- Open VeganCheckr and choose ingredient analysis to type or paste a list — or tap ingredient scan to photograph the printed label.
- The app checks every ingredient, including E-numbers and aliases like "sodium caseinate."
- Read the verdict — each flagged ingredient is listed with the reason it was flagged.
The hard part: ambiguous ingredients
Any checker can catch "gelatin." The real test is the gray zone. E471 (mono- and diglycerides) is usually made from plant oils today but can be animal fat. E322 (lecithin) is almost always soy or sunflower, yet egg lecithin exists. Natural flavors can hide anything from orange oil to castoreum.
A good checker shouldn't scream "not vegan" at every one of these — that trains you to ignore warnings. It should distinguish confirmed animal from possibly animal, and downgrade the warning when the label itself resolves the doubt. VeganCheckr does exactly that: when a label declares the plant source ("emulsifier: mono- and diglycerides of vegetable origin," "soy lecithin"), E471 and E322 aren't flagged as risks, which cuts the false alarms that make scanner apps tiring to use.
An ingredient list tells you what's in the recipe — not what's in the factory. Learn the 15 common flags, and let a checker handle the other few thousand.
If the product has a barcode, you don't need to analyze the list at all:
- Open VeganCheckr and tap Scan, then point your camera at the barcode.
- Get a vegan / vegetarian / non-vegan verdict with the exact flagged ingredients as evidence.
- Add your own avoidance alerts (palm oil, honey, E120) to flag ingredients you personally skip.
What "may contain milk" actually means
Precautionary statements like "may contain milk" or "made in a facility that handles egg" describe cross-contamination risk on shared production lines — they are allergy information, not ingredients. The Vegan Society allows its Vegan Trademark on products carrying these warnings, provided cross-contamination has been minimized as far as reasonably practicable.
So a "may contain" line doesn't make a product non-vegan by most definitions — though whether you buy it remains a personal call. For the full label-reading workflow, from allergen bolding to vegan certification marks, see our field guide to reading food labels as a vegan.
Vegan ingredient checker FAQ
What is the best way to check if an ingredient list is vegan?
Combine methods. First look for emphasized allergens (milk, egg, fish), then scan for common flags like gelatin, carmine and casein, and use a checker app for E-numbers and ambiguous ingredients such as E471. For packaged products with a barcode, scanning is faster than reading.
Can a vegan ingredient checker read a photo of a label?
Yes. OCR-based checkers photograph the printed ingredient list, convert it to text and analyze each ingredient. VeganCheckr includes this as its ingredient label scan — useful for products without a barcode, such as bakery items or imported foods.
Is a product vegan if the label says "may contain milk"?
Usually, yes. "May contain" is a precautionary allergen warning about shared production lines, not an ingredient. The Vegan Society allows its Vegan Trademark on products carrying such warnings when cross-contamination has been minimized. Whether you buy them is a personal choice.
Which E-numbers are not vegan?
E120 (carmine), E441 (gelatin), E904 (shellac) and usually E920 (L-cysteine) are the best-known animal-derived additives. Others, like E471 and E322, depend on the source and can be either plant- or animal-derived.