The rubric
Methodology, in full.
Score formula
# When NOVA is known
base = { 1: 96, 2: 78, 3: 58, 4: 32 }[nova]
score = clamp(0, 100, base
- additives_count * 4
- max(0, ingredients_count - 8) * 1.5)
status = "verified"
# When NOVA is missing but additives + ingredient count are present
score = clamp(0, 100, 75
- additives_count * 8
- max(0, ingredients_count - 5) * 2)
status = "estimated"
# When neither is present
score = null
status = "unscored" Score bands
- 85–100 · Whole — minimally processed (NOVA 1)
- 70–84 · Lightly processed
- 50–69 · Processed
- 30–49 · Highly processed
- 0–29 · Ultra-processed (NOVA 4 with multiple additives)
Data source
Every product, ingredient list, additive tag, allergen tag, and image URL on this site comes from Open Food Facts, a crowdsourced food database licensed under the ODbL 1.0. Per the licence we attribute on every page and republish derived data under the same terms.
For products without an Open Food Facts photo, we fetch a public retailer-CDN image via Google Images. We don't host or modify the image — the URL is referenced as-is.
Coverage caveats
- Crowdsourced data is patchy. A retailer's catalogue on this site is a sample, not a complete shelf.
- About 30% of UK products have a verified NOVA score; the rest are estimated.
- Some product entries are years old. Each product page shows a "last updated" stamp.
- Multilingual records may render with a fallback language label.
Found a problem with the methodology? Push back: alexdenne@gmail.com.