How nutritious is this food?
Nutri-Score is the nutrition-quality grade — an A to E letter (and a 0–100 number) based purely on the nutrition facts: calories, sugar, saturated fat, salt, fiber, protein, and fruit/veg content. It answers "is this nutritionally good?" — a different question from how processed it is or what additives it contains.
The A–E scale
The core idea: bad points minus good points
It's a tug-of-war. Each food earns negative points for things to limit and positive points for things to encourage. Subtract one from the other and you get a raw score — lower is better — which maps to a letter and a 0–100 number.
Calories · Sugar · Saturated fat · Salt (sodium). The more a food has, the more points it racks up.
Fiber (0–5) · Protein (0–5) · Fruit/veg/nuts (0, 1, 2 or 5). These pull the score back down toward "good."
Raw score = negatives − positives. A fresh vegetable lands deep in the negatives (a great A); a sugary, salty snack piles up positives-can't-save-it points (an E).
The point ladders — the actual lookup tables
A nutrient earns one more point for each threshold it crosses. These are per serving (see "what makes ours different" below).
| Points → | 1 | 3 | 5 | 7 | 10 |
|---|---|---|---|---|---|
| Energy (kcal) | 60 | 180 | 300 | 420 | 600 |
| Sugars (g) | 3.4 | 10 | 17 | 23 | 34 |
| Sat fat (g) | 0.6 | 1.8 | 3.0 | 4.2 | 7.0 |
| Sodium (mg) | 70 | 210 | 345 | 505 | 805 |
| Points → | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| Fiber (g) | 0.7 | 1.4 | 2.1 | 2.8 | 3.5 |
| Protein (g) | 1.2 | 2.4 | 3.6 | 4.8 | 6.0 |
| Fruit/veg/nuts | 40% | 60% | — | — | 80% |
Energy/sugar/sat-fat/sodium ladders have 10 rungs; abbreviated here for readability.
What makes Baseline's version different
Standard EU Nutri-Score is a blunt, population-level tool. We keep its trusted backbone but fix the places it misleads an individual shopper:
- 1Per serving, not per 100g. We score what actually enters your body. The standard version judges 100g of everything — which makes a tiny sprinkle of parmesan look like a health food and over-penalizes large healthy portions. We recalibrated every threshold to real serving sizes.
- 2Source-quality overlays. The standard score counts grams of sat fat, sugar, and salt blindly. We adjust the points by where the nutrient comes from — sat fat from yogurt isn't treated like sat fat from a hot dog; sugar from whole fruit isn't treated like added syrup. The adjustment is dampened by half, so it nudges the grade rather than hijacks it.
- 3Fairer with missing data. If a label doesn't list fiber or protein, we give a neutral median credit instead of silently scoring it zero — a missing number shouldn't tank a product.
- 4Smart beverage & water handling. "Chocolate Milk" is scored as a drink, "Milk Chocolate" as a solid — we read the last word of the name. Plain water is always an A.
- 5A "disagreement" flag. When the blunt grade and the source-quality view diverge (e.g. an A-grade product whose fat comes from processed meat), we surface it instead of hiding it.
The five adjustment modules
This is the heart of what makes our score ours. Plain Nutri-Score counts grams. Each adjustment module asks a better question — where did this nutrient come from? — and scales that nutrient's points up or down by a source-quality multiplier.
Two important rules apply to all five:
- • Multiplier meaning: for the bad-point modules (fat, sugar, sodium), >1.0 means a worse source (more penalty), <1.0 means a better source (less penalty). For the good-point modules (protein, fiber), <1.0 shrinks the credit when the source is low-quality.
- • Dampened by half: every multiplier is softened —
1.0 + (multiplier − 1.0) × 0.5— so an adjustment nudges the grade rather than dominating it. It's an opinion, held lightly.
Sat fat from yogurt isn't the same as sat fat from a hot dog. Rates the source across food matrix, fatty-acid profile and processing (T1 best → T6 worst).
| Source tier | × | Examples |
|---|---|---|
| T1 Fermented dairy | 0.12 | yogurt, kefir, skyr |
| T2 Cheese | 0.20 | cheddar, mozzarella |
| T3 Whole milk | 0.39 | milk, cream-top |
| T4 Unprocessed meat | 0.89–0.92 | beef, pork, poultry |
| T5 Isolated fats | 1.17–1.46 | butter, coconut, palm |
| T6 Processed / hydrogenated | 1.80–1.88 | bacon, sausage, trans fat |
Sugar locked inside whole fruit is metabolically different from added syrup or a soft drink. Rated by delivery matrix × sugar origin.
| Source | × | Examples |
|---|---|---|
| Whole fruit / vegetable | 0.00 | intrinsic, intact matrix |
| Dairy / whole grain / dried fruit | 0.30 | lactose, concentrated intrinsic |
| Juice / honey / purée | 0.60 | freed but with co-nutrients |
| Added sugar | 1.00 | the reference point |
| Sugar-sweetened beverage | 1.40 | soda — liquid, no matrix |
Salt in kimchi (fermentation, probiotics) isn't salt in a nitrite-cured hot dog. Recent evidence says food context matters more than total grams.
| Context tier | × | Examples |
|---|---|---|
| T1 Whole / fermented | 0.20–0.30 | miso, kimchi, sauerkraut |
| T2 Preserved nutrient-dense | 0.40–0.55 | sardines, smoked salmon, aged cheese |
| T3 Standard added salt | 0.70–0.85 | bread, sauces, baking soda |
| T4 Unknown | 1.00 | conservative fallback |
| T5 Ultra-processed additives | 1.20–1.40 | nitrites, phosphates, MSG-heavy |
Stops a "protein cookie" earning the same credit as a chicken breast. The same whey isolate gets different credit depending on the product it's in.
| Tier | × | Examples |
|---|---|---|
| T1 Whole-food complete protein | 1.00 | eggs, fish, meat, dairy, tofu |
| T2 Quality isolate, clean product | 0.85 | whey/pea in a protein shake |
| T3 Added protein (gaming) | 0.50 | whey in cookies, candy, bars |
| T4 Protein claim, <5g | 0.00 | label claim, no substance |
12g of fiber from lentils isn't 12g of chicory-root inulin dusted onto a protein bar. Rated by how whole the fiber source is.
| Tier | × | Examples |
|---|---|---|
| T1 Whole-food intrinsic | 1.00 | legumes, veg, fruit, whole grains |
| T2 Minimally processed | 0.80 | oat fiber, psyllium, bran, chia |
| T3 Added functional fiber | 0.50 | inulin, chicory, soluble corn fiber |
| T4 Synthetic / negligible | 0.25 | MCC, modified cellulose |
Look up any ingredient or food
Every term the five modules classify — not just examples.All — classified terms across the five adjustment modules. Search a food or pick a module to audit exactly which tier and multiplier it lands in. Value is the source multiplier before the ×0.5 dampening.
A term tagged category is matched against the product's name/category — so "lemonade" is assumed to be a sugar-sweetened beverage even if it's a diet version. A term tagged ingredient is matched against the actual ingredient list and is far more reliable. Today ~87% of terms are category-based (sat-fat, sugar & sodium are 100% category; fiber is mostly ingredient). Use the filter below to inspect the category-based assumptions.
| Term | Module | Input | Tier | × | Classified as |
|---|
Plurals and label variants are normalized when we scan a product. If a food you'd expect is missing or mis-tiered, that's exactly the kind of gap to flag.
How it fits with the other modules
Nutri-Score answers one question well, but not all of them. That's why it's one module among several:
A food can be a Nutri-Score A but heavily processed (e.g. a diet soda), or a C that's totally whole (e.g. cheese). Showing them separately is more honest than mashing them into one opaque number.
Where it's still rough (we'd rather you hear it from us)
- ▸It only sees the nutrition panel. It can't tell whole from ultra-processed on its own — a diet soda can score well. Processing + additives are deliberately separate modules.
- ▸Garbage in, garbage out. If the label is missing or wrong (no serving size, no fiber), the grade leans on estimates. We credit missing data rather than punish it, but it's still a guess.
- ▸Per-serving can be gamed. Scoring real servings is fairer, but a deceptively small "serving size" on the label can flatter a product. We removed the old size floor and recalibrated boundaries to fight this, but it's not bulletproof.
- ▸The overlays are our judgment. Adjusting points by nutrient source is Baseline's addition, not part of official Nutri-Score. We dampen it by half on purpose — it's an opinion, held lightly.
Questions or disagreements? → tell Stefan and this page gets better.