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
| Factor | Weight | How it's scored |
|---|---|---|
| Protein density | 24% | 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 amount | 14% | Absolute grams of protein per bar. Full marks at ≥20 g, zero at ≤8 g. |
| Sugar | 22% | Lower is better, with added sugar penalised harder than naturally occurring sugar. Full marks at 0 g, zero at ~15 g added-equivalent. |
| Ingredient quality | 22% | 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 fat | 9% | Lower is better. Full marks at 0 g, zero at ≥8 g per bar. |
| Fiber | 9% | 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
| Grade | Score | Meaning |
|---|---|---|
| A+ | 85–100 | Elite — high protein density, minimal sugar, clean ingredients. |
| A | 75–84 | Excellent everyday choice. |
| B | 65–74 | Good, with a trade-off or two (a little sugar, a sugar alcohol, a seed oil). |
| C | 52–64 | Middling — often a candy-bar macro profile with protein added. |
| D | 40–51 | Weak — high sugar or poor ingredient quality for the protein you get. |
| F | 0–39 | Basically a candy bar. Great taste, not a health play. |
Derived metrics you can sort by
- Protein density— grams of protein per 100 kcal. The single best measure of "how much protein am I getting for the calories I'm spending."
- Protein per dollar — grams of protein divided by the per-bar price. Value for money.
- Net carbs — total carbs minus fiber and sugar alcohols.
- % calories from protein — protein grams × 4, over total calories.
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:
- Industrial seed oils (soybean, canola, sunflower, corn, cottonseed).
- Palm and palm kernel oil.
- Sugar alcohols — maltitol hardest (it spikes blood sugar and causes GI distress), erythritol/allulose more lightly.
- Artificial sweeteners (sucralose, aspartame, acesulfame-K), artificial flavors and colors.
- Corn syrup / glucose syrup and hydrogenated fats.
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 →