Figures below are from our most recent full audit, in which all 35,661 products in the database were run through all four rule sets.
Vegan
- Pass
- 5,528 (16%)
- Uncertain
- 12,710 (36%)
- Fail
- 17,423 (49%)
What it checks. Animal-derived ingredients in the list (milk, whey, egg, gelatin, carmine, shellac, honey and their non-English spellings), plus the allergen and analysis tags on the record.
When it refuses to answer. Ingredients that can be either plant or animal without the label saying which: mono- and diglycerides (E471), natural flavourings, lactic acid, some sugars.
Most frequent deciding ingredients: Milk (allergen data) (11,461), milk (8,452), whey (3,514), Eggs (allergen data) (2,714), cream (2,271), milk powder (1,929). Flagged for "may contain" cross-contact only: 1,505 products.
Keto
- Pass
- 7,830 (22%)
- Uncertain
- 735 (2%)
- Fail
- 27,096 (76%)
What it checks. Carbohydrate and sugar figures per 100 g from the nutrition table. Over 10 g of carbs per 100 g fails; the sugar figure is shown next to it so you can judge borderline cases yourself.
When it refuses to answer. Products with no nutrition table at all. Keto is the one diet we can answer from numbers rather than words, which is why it has the fewest uncertain verdicts.
Most frequent deciding ingredients: sugar (539), Too high in carbs (60g/100g) (455), Too high in carbs (11g/100g) (455), Too high in carbs (12g/100g) (398), Too high in carbs (13g/100g) (378), Too high in carbs (50g/100g) (361). Flagged for "may contain" cross-contact only: 676 products.
Gluten Free
- Pass
- 20,241 (57%)
- Uncertain
- 4,811 (13%)
- Fail
- 10,609 (30%)
What it checks. Wheat, barley, rye, spelt, malt and their derivatives in the ingredient list, the gluten allergen tag, and any gluten-free certification printed on the packaging.
When it refuses to answer. Oats without a purity claim, a biscuit, cone or wafer that does not say what it is made from, and anything where the only gluten signal is a "may contain" warning, which is a cross-contact risk rather than an ingredient. Plain "flour" on an English-language label is wheat flour and fails.
Most frequent deciding ingredients: Gluten (allergen data) (10,158), wheat (7,284), wheat flour (5,620), barley (2,228), malt (1,519), barley malt (853). Flagged for "may contain" cross-contact only: 583 products.
Halal
- Pass
- 15,519 (44%)
- Uncertain
- 17,344 (49%)
- Fail
- 2,798 (8%)
What it checks. Pork and its derivatives, alcohol as an ingredient (wine, cider, rum, beer, ale), and packaging-level halal certification when the record carries one.
When it refuses to answer. Mushbooh (doubtful) items: gelatin, rennet and the enzymes used to set cheese, whey, mono- and diglycerides, glycerol, stearates, L-cysteine, natural flavourings. Their source decides the answer and the label rarely says, unless it names a plant or microbial source. This is why halal has the largest uncertain count on the site.
Most frequent deciding ingredients: pork (1,372), wine (393), alcohol (242), cider (236), rum (186), bacon (163). Flagged for "may contain" cross-contact only: 27 products.
Palm Oil Free
- Pass
- 25,729 (72%)
- Uncertain
- 4,153 (12%)
- Fail
- 5,779 (16%)
What it checks. Palm oil, palm kernel oil, palm fat and their olein and stearin fractions named anywhere in the ingredient list, in English and the other languages our database carries; the palm oil status Open Food Facts derives for the record; and a "no palm oil" claim when the packaging carries one.
When it refuses to answer. Fat listed only as "vegetable oil" or "vegetable fat" with no plant named. That phrase is where palm oil usually hides, and without the label naming the source we say so rather than guess. Palmitate-type additives, which can be made from palm or from other fats, are treated the same way.
Most frequent deciding ingredients: palm oil (2,775), Palm oil, flagged by the Open Food Facts ingredient analysis (1,299), palm kernel (1,277), palm kernel oil (793), palm fat (361), hydrogenated palm (314). Flagged for "may contain" cross-contact only: 51 products.