Why the headline numbers mislead
A 150-calorie serving is not automatically lighter than a 200-calorie serving if the first is 28 grams and the second is 55 grams. The same trap applies to protein, sugar, fiber, and sodium: a bigger serving makes every line look bigger because it describes more food. Before comparing anything, ask one question — do these two panels describe the same amount of food? If not, pick a normalization method below and convert both products before reading a single result.
Method one: per 100g (weight basis)
Use this when your question is about the food itself: which cereal is denser in sugar, which cracker is saltier. The formula:
nutrient per 100g = nutrient per serving × 100 ÷ serving weight in grams
Worked example: a 30g serving with 120 calories gives 120 × 100 ÷ 30 = 400 calories per 100g. A 50g serving with 180 calories gives 180 × 100 ÷ 50 = 360 calories per 100g. The larger serving delivers more calories as eaten, while the second product is less calorie-dense by weight — both true at once. Watch two traps: liquids are labeled in mL, not grams, and concentrated foods (sauces, powders) look extreme on a 100g basis nobody eats.
Method two: per 100 calories (energy basis)
Use this when the question is about nutrient density: which product delivers more protein or fiber for the calories it costs. Weight disappears; calories become the denominator. The formula:
nutrient per 100 kcal = nutrient per serving × 100 ÷ calories per serving
Worked example: yogurt A has 15g protein and 150 calories per serving → 15 × 100 ÷ 150 = 10g protein per 100 kcal. Yogurt B has 12g protein and 100 calories → 12 × 100 ÷ 100 = 12g protein per 100 kcal. Per serving, A has more protein; per calorie, B is the more protein-dense food. This basis is especially useful when serving sizes differ and the products differ in richness — it answers “what do I get for the calories?” rather than “what do I get for the grams?”
Method three: per protein target (goal basis)
Use this when protein is the stated goal and you want to know what a fixed amount of protein costs — in calories or in dollars. Set a target T (25g is a practical benchmark). For the calorie cost of T grams of protein:
calories per T grams of protein = calories per serving × T ÷ protein per serving
Worked example with T = 25: a bar with 200 calories and 10g protein needs 200 × 25 ÷ 10 = 500 calories to deliver 25g of protein. A shake with 160 calories and 20g protein needs 160 × 25 ÷ 20 = 200 calories for the same 25g. The cash version replaces calories with price:
cost per T grams of protein = package price × T ÷ (protein per serving × servings per container)
All values on the right must come from the same label, and the target T must be named in the result — “500 kcal per 25g protein” is a complete statement; “500 kcal” alone is not. The protein-per-25g calculator and protein cost calculator run both versions for you.
Which method when: a short decision tree
- Same serving sizes on both labels? Compare per serving directly; no normalization needed.
- Different servings, question is about the food (sugar, sodium, fiber density) → per 100g.
- Different servings, question is about what the calories buy you → per 100 kcal.
- Protein is the goal → per protein target, in calories or dollars.
- You will eat a specific amount regardless of the label (two scoops, one bowl) → scale both labels to that amount and skip the denominators entirely.
A full walk-through: two granola bars
Bar A: 40g serving, 190 calories, 5g protein, $1.80 per bar, 6 bars per box ($10.80). Bar B: 60g serving, 250 calories, 8g protein, sold individually at $2.40. The serving sizes differ, so normalize before concluding anything. Per 100g: A is 475 kcal and 12.5g protein; B is about 417 kcal and 13.3g protein — B is the lighter, slightly more protein-dense bar by weight. Per 100 kcal: A delivers 5 × 100 ÷ 190 ≈ 2.6g protein; B delivers 8 × 100 ÷ 250 = 3.2g — B again. Per 25g protein target: A costs 190 × 25 ÷ 5 = 950 kcal and, in cash, 1.80 × 25 ÷ 5 = $9.00; B costs 250 × 25 ÷ 8 ≈ 781 kcal and 2.40 × 25 ÷ 8 = $7.50. Every basis agrees here, so the conclusion is robust. When the bases disagree, that is a trade-off to report, not an error to fix.
Rules that apply to all three methods
- Same panel, same serving. Never divide a calorie number from one serving basis by a protein number from another.
- Copy first, convert second. Record the printed values before normalizing, and show the formula. A normalized number is your arithmetic, not an official label claim.
- Round only at the end. Labels are already rounded to the nearest gram or 10 calories; rounding mid-calculation stacks error on error.
- Check the preparation state. Dry cereal, cooked pasta, and a powder mixed into milk are different foods numerically. Compare like with like.
When the methods disagree
They often do, and that is information, not a malfunction. A yogurt can win per serving, lose per 100g, and win again per 100 kcal — each result correctly answers its own question. The honest move is to report the trade-off with the basis attached (“more protein per cup, less protein per 100 kcal”) and let your actual priority decide. A result stated without its denominator invites exactly the misreading you normalized to avoid.
What normalization cannot fix
None of these methods measures ingredient quality, taste, satiety, convenience, or price movements, and none turns label arithmetic into medical advice. Label rounding also means small gaps — a few percent — are often inside the noise; treat near-equal results as effectively tied rather than forcing a ranking. For allergies, medically required diets, pregnancy, or conditions affected by sodium, sugar, or protein, use the label together with guidance from a qualified clinician.
Keep units and preparation states aligned
Units need deliberate handling. Keep grams with grams and milligrams with milligrams, and do not treat milliliters as grams unless the product supplies a valid weight conversion. When a package lists both “as sold” and “as prepared” columns, choose one state and use it for both products. A mathematically correct conversion built from mismatched units or preparation states is still the wrong comparison.
The bottom line
Different serving sizes are a reason to normalize, not a reason to guess. Per 100g for the food, per 100 kcal for nutrient density, per protein target for protein goals — pick by question, show the formula, and name the basis in the result. For the serving-size rules behind the labels, see the FDA serving-size guidance and the FDA's overview of the Nutrition Facts label. AptBite normalizes two scanned labels to a shared basis and keeps the trade-off visible instead of collapsing it into a score. This article is general label education, not medical or dietary advice.