Methodology

Every bar gets a single 0–100 health score. It's a weighted blend of six sub-scores, each computed from the nutrition label. Nothing is subjective and nothing is hidden — the weights and thresholds below are the whole formula, and the code lives in lib/scoring.ts.

The six sub-scores

FactorWeightHow it's scored
Protein density24%Grams of protein per 100 kcal. Full marks at ≥14 g/100 kcal, zero at ≤5 g/100 kcal. Rewards bars that deliver protein without riding along a lot of calories.
Protein amount14%Absolute grams of protein per bar. Full marks at ≥20 g, zero at ≤8 g.
Sugar22%Lower is better, with added sugar penalised harder than naturally occurring sugar. Full marks at 0 g, zero at ~15 g added-equivalent.
Ingredient quality22%Starts at a neutral baseline, rewards whole-food ingredients, and penalises seed oils, palm oil, sugar alcohols (maltitol hardest), artificial sweeteners, artificial flavors/colors, corn syrup and hydrogenated fats. Where structured label data is available, it also credits minimally-processed bars (NOVA 1–2) and lightly penalises a long additive list.
Saturated fat9%Lower is better. Full marks at 0 g, zero at ≥8 g per bar.
Fiber9%More real fiber is better. Fiber from isomalto-oligosaccharide (IMO), soluble corn fiber, tapioca fiber or polydextrose is capped (it digests more like sugar) and carries a small ingredient penalty, so 'fiber-syrup' bars can't game the score. Full marks at ≥8 g of real fiber.

Letter grades

GradeScoreMeaning
A+85–100Elite — high protein density, minimal sugar, clean ingredients.
A75–84Excellent everyday choice.
B65–74Good, with a trade-off or two (a little sugar, a sugar alcohol, a seed oil).
C52–64Middling — often a candy-bar macro profile with protein added.
D40–51Weak — high sugar or poor ingredient quality for the protein you get.
F0–39Basically a candy bar. Great taste, not a health play.

Derived metrics you can sort by

Why ingredients matter, not just macros

Two bars can have identical macros and very different ingredient quality. The ingredient sub-score rewards recognizable whole foods (nuts, seeds, dates, real nut butters) and penalizes:

A note on honesty

This is a heuristic, not a lab assay. It's designed to surface bars that are genuinely high-protein and clean versus candy bars wearing a protein label — but reasonable people weight these factors differently, which is exactly why the leaderboard lets you re-sort by any single column. Nutrition figures come from labels, brand sites, and Open Food Facts; formulations change, so always confirm the package you buy.

Think a bar is mis-scored, or want to suggest a weighting change? Tell us →