Kaunto

· Updated · By Kaunto

Why Label Calories Can Be 20 % Off, and What to Do About It

US and EU rules let a nutrition label differ from the food inside by up to 20 %. Here is what the law allows, how rounding works, and how to log so it does not matter.

A nutrition label is a legal declaration with a built-in margin, not a measurement of the packet in your hand. In the United States, the calories, fat, sugars and sodium in a food may be up to 20 % higher than the label states and still comply; in the European Union, guidance tolerances of roughly ±20 % apply to fat, carbohydrate, sugars and protein at typical levels. The tolerance is measured against the printed, already-rounded figure, so a single serving can contain up to 20 % more energy than printed and still comply with US rules; the EU sets no tolerance for energy itself. This does not make counting pointless. It means the label is an estimate, like every other number in a food log, and the fix is consistency rather than precision.

What the rules actually allow

JurisdictionNutrientPermitted deviation from the label
US (FDA, 21 CFR 101.9)Calories, total fat, saturated fat, cholesterol, sodium, total sugarsActual may be up to 120 % of the declared value
US (FDA)Vitamins, minerals, protein, fibre (naturally occurring)Actual must be at least 80 % of the declared value (100 % if added)
EU (2012 guidance on tolerances)Fat, carbohydrate, sugars, protein, 10–40 g per 100 g±20 %
EUThe same, below 10 g per 100 g±2 g (fat ±1.5 g)
EUThe same, above 40 g per 100 g±8 g (fat ±8 g, sugars/carbs/protein ±8 g)
EUSalt±0.375 g below 1.25 g per 100 g, otherwise ±20 %

The asymmetry in the US rule is deliberate: the regulator cares that you get at least the protein promised and at most the calories promised. Independent lab tests have found measured calories slightly above the label on average: 8 % for frozen meals and about 4 % for snack foods.

Rounding adds another layer

US labels must round calories to the nearest 5 kcal under 50 and to the nearest 10 kcal above; anything under 5 kcal may be printed as 0. Fat rounds to the nearest 0.5 g under 5 g and the nearest gram above; anything under 0.5 g may be labelled 0 g. So:

  • A spray oil labelled “0 calories per serving” can contain up to 4 kcal per serving, and a pan takes many servings.
  • A snack labelled 100 kcal may be 104 by the manufacturer’s own analysis before rounding, and up to 120 within the legal tolerance.
  • “0 g trans fat” means under 0.5 g per serving.

Rounding is per serving, so a product with many small servings in a packet compounds it. The way around it is to log by weight against a per-100 g figure, which EU labels must print and which sidesteps the per-serving rounding entirely.

Serving sizes are the bigger problem

The tolerance is 20 %; the serving can be a much larger gap. US serving sizes are set by regulation (the Reference Amounts Customarily Consumed) and were updated in 2016 to reflect larger portions, but a “serving” of ice cream is two-thirds of a cup and a “serving” of ready-to-eat breakfast cereal is 15, 40 or 60 g depending on how dense the cereal is. What goes in your bowl may be quite different. Weighing the portion fixes this completely; guessing that you had “one serving” does not.

Why calories from macros do not always add up

Most labels compute energy from the macros with the Atwater factors: 4 kcal per gram of protein and carbohydrate, 9 per gram of fat. But the EU counts fibre at 2 kcal/g and polyols at 2.4, the US lets manufacturers either count all carbohydrate at 4 kcal/g or subtract non-digestible carbohydrate (counting soluble fibre at 2 kcal/g), alcohol is 7 kcal/g, and organic acids are 3. So the label’s calories may not equal 4P + 4C + 9F, and an app that recalculates from the macros will show a slightly different number from one that copies the label. For most foods the gap is a few percent; for high-fibre or sugar-alcohol products it can be considerably larger.

What to do about it

  1. Log by weight, per 100 g, wherever possible. It removes serving-size error and per-serving rounding at once. This is the form the foods reference uses for every entry.
  2. Prefer reference data for whole foods. Oats, rice, eggs and chicken are measured in a lab; the label on a bag of rice is not more accurate than USDA’s analysis of rice.
  3. Assume packaged foods may run a little high. If a bar says 200 kcal, assume it may be a little more. You do not have to adjust every entry; just do not be surprised when the maths and the scale disagree by a few percent.
  4. Judge the log by the trend, not the total. If your weekly average intake is 2,000 kcal by the log and your weight is holding, then 2,000 logged calories is your maintenance, whatever the true figure is. The label error is baked into the calibration. Adjust in small steps and watch the trend line.
  5. Be exact where it pays. Oils, nuts, nut butters, cheese and dressings carry the most calories per gram of estimation error; olive oil is 119 kcal per tablespoon and a “tablespoon” poured freehand is often two. Weigh those. A tomato can be eyeballed.

Sources

  • U.S. Food and Drug Administration. 21 CFR 101.9 — Nutrition labeling of food, paragraphs (c)(1)–(c)(2) and (g)(3)–(g)(6). Electronic Code of Federal Regulations. eCFR § 101.9
  • U.S. Food and Drug Administration. 21 CFR 101.12 — Reference amounts customarily consumed per eating occasion (as amended 81 FR 34041, May 27, 2016). Electronic Code of Federal Regulations. eCFR § 101.12
  • European Parliament and Council (2011). Regulation (EU) No 1169/2011 on the provision of food information to consumers, Article 32 and Annex XIV. Official Journal of the European Union, L 304. EUR-Lex
  • European Commission, Health and Consumers Directorate-General (2012). Guidance document for competent authorities for the control of compliance with EU legislation with regard to the setting of tolerances for nutrient values declared on a label. PDF
  • Urban LE, Dallal GE, Robinson LM, et al. (2010). The accuracy of stated energy contents of reduced-energy, commercially prepared foods. Journal of the American Dietetic Association 110(1):116–123. doi:10.1016/j.jada.2009.10.003
  • Jumpertz R, Venti CA, Le DS, et al. (2013). Food label accuracy of common snack foods. Obesity 21(1):164–169. doi:10.1002/oby.20185

Frequently asked questions

Are nutrition labels accurate? Within legal tolerances: in the US, calories may be up to 20 % above the label; in the EU, fat, carbohydrate, sugars and protein have tolerances of about ±20 % at typical levels. Independent lab tests have found packaged foods averaging roughly 4–8 % above the label.

Can a food have more calories than the label says? Yes. In the US a product can legally contain up to 20 % more calories than declared. Below the declared value is also allowed. Lab tests have found products slightly above the label on average.

Why do calories on a label not match the protein, carbs and fat? Because the label may use fibre-adjusted or food-specific energy factors, and each macro is rounded separately before printing. A difference of a few percent between the printed calories and 4P + 4C + 9F is normal.

Does the 20 % tolerance mean calorie counting does not work? No. Errors of this kind are systematic for any food you eat regularly, so they are absorbed into what your log shows as maintenance. Counting works because you adjust intake based on what the scale does over weeks, not because any single entry is exact. See how accurate calorie counting really is.

Is per-100 g or per-serving logging more accurate? Per 100 g, by weight. It avoids the serving-size assumption and the per-serving rounding, and it is how reference databases and this site’s foods pages present every value.

Next: how food databases work, or find your own numbers with the macro calculator.