How to Read a Food Label: Serving Size, Rounding, and Real Numbers
Serving size, per-100g comparisons, and FDA rounding rules that let a label print zero. Worked arithmetic to recover the real figure.
A nutrition label is a legal document, not a laboratory report. The numbers on it are produced by rules that permit rounding, allow small amounts to be printed as zero, and define the serving size for you. Reading a label well means knowing which figures are exact enough to compare and which are artifacts of the formatting.
Serving size versus package size
The serving size on a US Nutrition Facts panel is set by the FDA’s Reference Amounts Customarily Consumed (RACC) table, not by the manufacturer. A 50 g candy bar and a 60 g candy bar may both declare one serving as the whole bar, or both declare two servings, depending on which RACC category they fall into. The number is a regulatory construct.
This matters because every other figure on the panel is scaled to that serving. If a package contains 2.5 servings and the reader eats the whole package, every number on the label must be multiplied by 2.5. The label does not lie; it answers a question the reader did not ask.
| Condition that changes the figure | What changes | Effect on the number you read |
|---|---|---|
| US label, FDA rules (21 CFR 101.9) | Rounding permitted | 0 g fat may mean up to 0.49 g per serving |
| EU label, Regulation 1169/2011 | Rounding permitted | 0 g fat may mean up to 0.5 g per serving |
| Per-serving vs per-100 g | Denominator | Only per-100 g compares two different products |
| Serving size defined by RACC | Denominator | A larger RACC makes the per-serving figure look smaller |
| Package contains N servings | Multiplier | Eating the package multiplies every figure by N |
Per-100 g versus per-serving
Two products can only be compared on a per-100 g basis. Per-serving figures depend on the RACC category, which differs between a spread, a beverage, and a snack. A 30 g serving of one product and a 45 g serving of another produce numbers that cannot be placed side by side.
Per-100 g is the common denominator. In the EU, Australia, and New Zealand, it is mandatory. In the US it is optional, which is why a US label often cannot be compared to a European one without arithmetic.
To convert a per-serving figure to per-100 g:
Step 1: read the serving size in grams -> serving_g = 40
Step 2: read the nutrient per serving -> fat_g = 12
Step 3: divide fat by serving size -> 12 / 40 = 0.30
Step 4: multiply by 100 -> 0.30 * 100 = 30 g fat per 100 g
A reader with a 55 g serving and 12 g of fat would get 21.8 g per 100 g. Same fat, different denominator, different apparent ranking. The per-100 g figure is the one that survives the comparison.
The rounding rules and the zero that is not zero
US labels may round fat, carbohydrate, and protein to the nearest gram below 50 g, and to the nearest 0.5 g below 5 g. A value below 0.5 g may be declared as zero. The EU permits the same for values below 0.5 g. This is why a cooking spray that is pure oil can print 0 g fat per serving.
The arithmetic to recover the real figure:
Step 1: serving size on the label -> 0.25 g (one spray)
Step 2: label declares fat -> 0 g
Step 3: maximum permitted rounding -> 0.49 g per serving
Step 4: oil is 100% fat by weight -> 0.25 g oil = 0.25 g fat
Step 5: compare 0.25 g to the 0.49 g cap -> within the rounding window
The label is compliant. The product is still fat. A reader who uses ten sprays has used 2.5 g of fat, which is 22.5 kcal by the Atwater factor of 9 kcal per gram of fat.
Where the calorie figure comes from
The calorie total on a label is not measured. It is calculated from the macronutrient grams using Atwater factors: 4 kcal per gram of protein and carbohydrate, 9 kcal per gram of fat, 7 kcal per gram of alcohol, and 2 kcal per gram of fibre under US rules. These are averages derived from bomb calorimetry and corrected for digestibility. They are not exact for any individual food.
A worked example:
Protein: 8 g * 4 kcal/g = 32 kcal
Carbohydrate: 30 g * 4 kcal/g = 120 kcal
Fat: 12 g * 9 kcal/g = 108 kcal
Fibre: 4 g * 2 kcal/g = 8 kcal
Total = 268 kcal
A label may print 270 kcal after rounding. The difference is not an error; it is the formatting. The Atwater factors themselves carry an uncertainty of roughly 5% for mixed diets, which is why two labs analysing the same food can differ by 10-20 kcal per 100 g.
What people get wrong, and why
The most common error is treating the per-serving figure as the per-package figure. This is natural because the package is the unit the reader holds. The label answers a different question, and the mismatch is a design feature of the regulation, not a trick by the manufacturer.
The second error is comparing two products per serving. This is natural because the serving is the unit printed in bold. The comparison is invalid whenever the RACC categories differ, which is most of the time.
The third error is reading 0 g as zero. This is natural because zero is a number, not a range. The regulation defines it as a range, and the reader has no way to know that from the label alone.
What to do differently
Weigh the food. A kitchen scale resolves the serving-size question in one step: the reader knows the grams, and can multiply the per-serving figure by (grams eaten / serving grams). The label becomes an input rather than an answer.
Use per-100 g for every comparison. If the label does not print it, calculate it. The arithmetic is one division and one multiplication.
Treat 0 g as “less than the rounding threshold” rather than “none”. For fat, that threshold is 0.5 g per serving in both the US and EU. For a product used in small amounts, the true figure is bounded by that threshold.
This page is not medical advice. Anyone with a clinical condition, a history of disordered eating, or a concern about their intake should speak to a clinician. In the US, the National Eating Disorders Association helpline is available at 1-800-931-2237. In the UK, Beat’s helpline is 0808 801 0677.
FAQ
Q: Why does a cooking spray say 0 g fat when it is pure oil? A: US and EU rules permit a label to declare zero for fat below 0.5 g per serving. A spray serving is often 0.25 g, which is within that window. The product is still fat; the label is compliant.
Q: Should I compare two products per serving or per 100 g? A: Per 100 g. Serving sizes are set by RACC categories that differ between products, so per-serving figures are not comparable. Per-100 g is the common denominator and is mandatory in the EU, Australia, and New Zealand.
Q: How do I convert a per-serving label to per 100 g? A: Divide the nutrient figure by the serving size in grams, then multiply by 100. A 40 g serving with 12 g of fat is 30 g fat per 100 g.
Q: Where does the calorie number on a label come from? A: It is calculated from macronutrient grams using Atwater factors: 4 kcal per gram of protein and carbohydrate, 9 kcal per gram of fat, 7 kcal per gram of alcohol, and 2 kcal per gram of fibre under US rules. It is not measured directly.
Q: Does the serving size on a label reflect what I should eat? A: No. It is a regulatory reference amount, not a recommendation. The figure is set by the FDA’s RACC table and exists so that labels can be compared within a product category.
Common questions
Why does a cooking spray say 0 g fat when it is pure oil?
US and EU rules permit a label to declare zero for fat below 0.5 g per serving. A spray serving is often 0.25 g, which is within that window. The product is still fat; the label is compliant.
Should I compare two products per serving or per 100 g?
Per 100 g. Serving sizes are set by RACC categories that differ between products, so per-serving figures are not comparable. Per-100 g is the common denominator and is mandatory in the EU, Australia, and New Zealand.
How do I convert a per-serving label to per 100 g?
Divide the nutrient figure by the serving size in grams, then multiply by 100. A 40 g serving with 12 g of fat is 30 g fat per 100 g.
Where does the calorie number on a label come from?
It is calculated from macronutrient grams using Atwater factors: 4 kcal per gram of protein and carbohydrate, 9 kcal per gram of fat, 7 kcal per gram of alcohol, and 2 kcal per gram of fibre under US rules. It is not measured directly.
Does the serving size on a label reflect what I should eat?
No. It is a regulatory reference amount, not a recommendation. The figure is set by the FDA's RACC table and exists so that labels can be compared within a product category.
Read next
- How Low Can Carbohydrate or Fat Go: A Reference Low carb vs low fat: controlled trials show small differences when calories and protein match. Here are the arithmetic floors for fat and carbohydrate.
- Are Calorie Labels Accurate? Food Data and Tolerance Calorie labels use Atwater factors, not bomb calorimetry. Learn the permitted tolerance, rounding rules, and how to recover the real figure from a label.
- Cooked vs Raw Weight: Why the Number Changes Cooked vs raw weight changes the calorie count you look up. Learn the conversions for rice, chicken, and pasta, and one rule for everything else.
- BMR: What the Equations Actually Estimate Basal metabolic rate is the energy cost of staying alive. Mifflin-St Jeor, Harris-Benedict and Katch-McArdle give different numbers; here is the spread.
- How Wrong Is Your Calorie Count? Error Sources and Ranges Calorie counting accuracy depends on label error, database variance, portion estimation, and cooking. This page stacks those errors and shows the real range.