Nutrition label analyzer

There is a word on the front of the pack and a table on the back. Whether the two agree is measurable: "low fat" is not a marketing phrase but under three grams per 100 in a solid product, and because that line is written as a number in EU regulation, whether the pack keeps its word is a matter of arithmetic rather than argument. Enter the table from the back below, and we will work out which claims the product may carry, what colour four nutrients get, and how many calories the whole pack holds.

The values in the per 100 g / 100 ml column of the label

Per serving

81kcal

15 g · Portions per pack: 26.7

Fat30.9 gHigh
Saturates10.6 gHigh
Sugars56.3 gHigh
Salt0.11 gLow

The portion as a share of the daily reference intake

  • Energy4.0%
  • Sugars9.4%
  • Saturates7.9%
  • Salt0.3%
  • Whole pack2,156 kcal · 108%
Save this product to FitDex

You do not have to retype the same product after every shop: scan the barcode in FitDex and the label is stored once, so on later days picking the portion is enough.

Which claims may this product carry?

Every phrase on the front of a pack — "low fat", "high protein" — has a numeric meaning, and if the numbers do not meet it, the phrase may not be printed. The rows below are the thresholds from the Annex to EU Regulation 1924/2006, compared against the table you entered.

ClaimThresholdStatus
Low energy≤ 40 kcalMay not carry
Low fat≤ 3.0 gMay not carry
Fat-free≤ 0.5 gMay not carry
Low saturated fat≤ 1.50 g · ≤ 10% kcalMay not carry
Saturated fat-free≤ 0.1 gMay not carry
Low sugars≤ 5.0 gMay not carry
Sugar-free≤ 0.5 gMay not carry
Low salt≤ 0.3 gMay carry
Very low salt≤ 0.1 gMay not carry
Source of fibre≥ 3 g · ≥ 1.5 g/100 kcalMay not carry
High fibre≥ 6 g · ≥ 3 g/100 kcalMay not carry
Protein source≥ 12% kcalMay not carry
High protein≥ 20% kcalMay not carry

Traffic-light thresholds

These thresholds set the colour of the four badges above; the source is the UK front-of-pack labelling guidance. The liquid column is half the solid one, because nobody drinks 100 grams of a beverage. For products with a portion over 100 grams, per-portion red thresholds also apply: 21 g fat, 6 g saturates, 27 g sugars, 1.8 g salt.

FoodLow (solid)High (solid)Low (liquid)High (liquid)
Fat≤ 3.0 g> 17.5 g≤ 1.5 g> 8.8 g
Saturates≤ 1.5 g> 5.0 g≤ 0.8 g> 2.5 g
Sugars≤ 5.0 g> 22.5 g≤ 2.5 g> 11.3 g
Salt≤ 0.30 g> 1.50 g≤ 0.30 g> 0.75 g

The daily reference intakes are fixed too, and the percentages printed on labels come from these divisors: Energy 2,000 kcal · Fat 70 g · Saturates 20 g · Carbs 260 g · Sugars 90 g · Protein 50 g · Salt 6 g. These are not a recommendation but a common denominator: a fixed divisor chosen so labels can be compared with one another. Your own requirement does not come from here.

How is it calculated?

The numbers you enter come from the label's per-100-gram column (per 100 millilitres for liquids), and the tool turns them into three columns: per 100 grams, your portion, and the whole pack. The third appears on no packaging. Yet it is the number that matters to anyone who finishes the jar in a week. In the sample product a 15-gram portion is 81 calories; the whole 400-gram jar is 2,156.

The claim check rests on the thresholds in the Annex to EU Regulation 1924/2006. Each of the thirteen claims has a numeric meaning — "low fat" is 3 grams per 100 for solids, "high protein" means at least 20% of the energy coming from protein — and your table is compared against them one by one. "Reduced" and "light" are not on the list, because both require at least a 30% cut against a reference product and cannot be measured from a single label.

The traffic-light colours come from the UK front-of-pack labelling guidance and cover four nutrients: fat, saturates, sugars and salt. The thresholds for liquids are half those for solids, because nobody drinks 100 grams of a beverage. For products with a portion over 100 grams, per-portion red thresholds also apply — and they can only turn a light red, never the other way: you cannot reach green by shrinking the portion.

The consistency row compares the energy printed on the label with the energy computed from the macros: 4 calories per gram of protein and carbohydrate, 9 for fat, 2 for fibre. In the sample the sum gives 533 calories against the 539 declared; a 1.1% gap is within rounding. The warning appears once the gap passes 5%.

Trans fat is not asked for, because EU labels are not required to declare it. The regulation's "low saturated fat" threshold looks at saturates and trans fat together; as this tool can only count saturates, the check errs in the product's favour. Salt is asked for as salt rather than sodium, exactly as it appears on the label; the regulation's 0.12 grams of sodium corresponds to 0.3 grams of salt.

The percentages divide by the reference intakes: 2,000 calories, 70 grams of fat, 20 grams of saturates, 90 grams of sugars, 6 grams of salt. These are not a recommendation but a common denominator — fixed divisors chosen so labels can be compared with one another. Your own calorie need does not come from here; it comes from the calorie calculator.

How to read your result

Read the per-100-gram column first, not the portion column. The manufacturer picks the portion. A small one makes any product look harmless: in the sample, a 15-gram portion is 81 calories — a figure that says nothing on its own. The same product is 539 calories per 100 grams. That is where its colour shows.

Then read the pack row, the number you will not find anywhere else. The 400-gram jar holds 2,156 calories, 108% of the daily reference, across 26.7 portions. Anyone who finishes that jar in a week is adding 308 calories to breakfast every day.

The rows marked "may carry" in the claim table are the words the product could legally print on its packaging. The sample product has exactly one: low salt. That the only true claim on a product with three red lights is about salt shows what claims are for: a claim can be true and still not make the product good, because the manufacturer prints whichever of the thirteen thresholds it clears and never mentions the ones it misses. The word on the front is the single axis on which the product looks best.

Look closely at the rows sitting near a threshold. At 0.107 grams of salt, the sample misses "very low salt" by 0.007 grams. That is no accident. Formulations tend to land just under or just over a threshold, because the threshold is a marketing boundary and trimming a tenth of a gram buys the right to print a new word on the pack, which makes it a cheap investment. The difference between two products on the same shelf is sometimes a tenth of a gram.

If the consistency warning appears, there are two possibilities. Either the table has a typo — more common than you would think — or part of the carbohydrate is polyol, a sugar alcohol worth 2.4 rather than 4 calories a gram, which this sum overcounts. The second is routine in sugar-free gums and diet chocolate; there the warning is information, not an error.

What the tool checks is the numbers printed on the label, not the product itself. Additives, sweeteners, how processed it is and how well the portion satisfies you all fall outside that table. It measures what is measurable. It does not pretend to measure the rest.

Frequently asked questions

My label has two columns — which one do I enter?

Enter the per-100-gram column (per 100 millilitres for liquids); that column is mandatory across the EU and appears on every pack. The second column shows per-portion values, and since the manufacturer chooses the portion, it cannot be compared between products. You enter the portion separately in the form anyway, and the tool recomputes that column for you. Entering the wrong column is the most likely user error on this page, and it shifts every result.

The pack says "low fat" but the tool says it does not qualify.

Three possibilities. The most common is that you entered the wrong column — per-portion numbers are smaller than per-100-gram ones, so the thresholds do not line up. Second, the word on the pack may fall outside this regulation: "light" and "reduced fat" mean at least a 30% cut against a reference product, and since that cannot be measured from one label they are not on the list. Third, the claim may follow a non-EU rule. What the tool says is narrow and exact: the numbers you entered do not meet the EU threshold.

Are traffic lights mandatory in my country?

No. The traffic light comes from the UK's voluntary front-of-pack guidance; it is not mandatory across the EU and appears on many packs not at all. It is used here because its thresholds are public, numeric, and place a product at a glance. A red light does not mean "do not eat"; it means "there is a lot of this per 100 grams, watch how often". The colour is a scale, not a ban.

My label has no fibre row — what should I enter?

Leave it at zero. Fibre is not a mandatory declaration in the EU — a manufacturer prints it if they choose, and the sample product does not. Leaving it empty has two consequences: the "source of fibre" and "high fibre" claims naturally cannot be met, and the consistency check cannot count the calories fibre contributes, so the computed energy comes out slightly low. In a fibre-rich product that gap is only a few calories and stays under the 5% warning line.

Related tools

This tool is for information only and is not a substitute for medical diagnosis or treatment. Talk to a healthcare professional before making a lasting change to how you eat.