P ProteinBenchmark

Methodology

"Dietary protein supplementation significantly enhanced changes in muscle strength and size during prolonged resistance exercise training in healthy adults. With protein supplementation, protein intakes at amounts greater than ~1.6 g/kg/day do not further contribute RET-induced gains in fat-free mass."

— Morton et al., British Journal of Sports Medicine (2018)

How every number on this site is calculated, and where the underlying nutrition data comes from.

The Protein Density score

Every food gets a single number: the percentage of its calories that come from protein.

Protein Density = (protein_g × 4) / total_calories × 100

We multiply protein grams by 4 because protein supplies 4 kcal per gram (the same convention used by FDA and USDA labelling). The result is a percentage between 0 and 100, where higher = more protein-efficient per calorie eaten.

The four tiers

Tier Density g / 100 cal Examples
Platinum ≥ 40% ≥ 10 Whey isolate · egg whites · lean turkey · plain Greek yogurt 0%
Gold 25–39% 6.25–9.75 Quest bar · chicken breast · cottage cheese · most "high protein" yogurts
Silver 15–24% 3.75–6.0 Whole eggs · tofu · jerky · 2% milk
Avoid < 15% < 3.75 "Protein" granola bars · peanut butter · most "protein" cereals · Kind bars

Tier thresholds are deliberately strict. A 40% threshold for Platinum means the food contributes much more protein per calorie than the average diet (~15–20% of calories from protein in a typical Western pattern), so substituting it materially improves your protein-to-calorie ratio.

Secondary metric: Protein per 100 cal

Alongside Protein Density, each food also shows a secondary figure: grams of protein per 100 calories. This is a "high protein, low calorie" framing that makes it easy to compare foods when you're thinking in absolute grams rather than percentages.

Protein per 100 cal = (protein_g / total_calories) × 100   [rounded to 1 decimal]

The formula is a simple rescaling of the raw protein-to-calorie ratio. It is not an independent ranking system — the Protein Density formula and the four tier thresholds (Platinum ≥ 40%, Gold 25–39%, Silver 15–24%, Avoid < 15%) are unchanged. The "Protein/100cal" column in the database and the secondary line on each snack page are supplementary context, not a replacement for the tier score.

As a reference point: a food scoring 10 g per 100 cal maps to a 40% Protein Density (Platinum), because 10 g × 4 kcal/g = 40 kcal out of 100 total calories. Most whole foods land between 2–15 g per 100 cal; high-protein isolates and lean cuts can exceed 20 g per 100 cal.

We publish a dedicated ranking of high protein, low calorie foods sorted by this metric — useful if you're approaching your diet from a volume-eating or calorie-budget perspective rather than tier benchmarking.

The protein intake calculator

Two formulas combine to produce your personalised target:

  1. Basal Metabolic Rate (BMR) via the Mifflin-St Jeor equation, chosen for its accuracy across body composition (Frankenfield et al. 2005, J Am Diet Assoc):
    Male:   BMR = 10·kg + 6.25·cm − 5·age + 5
    Female: BMR = 10·kg + 6.25·cm − 5·age − 161
  2. Total Daily Energy Expenditure (TDEE) = BMR × activity multiplier (1.2 sedentary → 1.9 extremely active).
  3. Protein target = bodyweight (kg) × goal-specific coefficient:
  4. Adults aged 50+ are biased toward the upper end of each range to combat anabolic resistance (Bauer et al. 2013).

The GLP-1 calculator

GLP-1 receptor agonists (semaglutide, tirzepatide, liraglutide) cause both rapid weight loss and reduced caloric intake. Without intervention, 25–40% of weight lost on these medications is lean mass (Aronne et al. 2024, SURMOUNT-1 BoCo analysis).

We use 2.0 g/kg of goal weight as the recommended target — the midpoint of the 1.6–2.4 range that the literature supports for muscle preservation under significant deficit. We then estimate daily caloric intake from a self-reported appetite score (1–10) and compute the required average protein density needed to hit the target within those calories. If that density is ≥ 40%, the user must rely primarily on Platinum-tier foods; we make this explicit instead of pretending any "high protein" snack will do.

Data sources

  • USDA FoodData Central — primary source for verified macronutrients on US-available foods. Government data, public domain. fdc.nal.usda.gov
  • Open Food Facts — global, crowdsourced product database. Used for branded packaged-goods coverage where USDA gaps exist. Open Database License. openfoodfacts.org
  • Brand-published nutrition labels — used as a tiebreaker when USDA and Open Food Facts disagree.
  • Restaurant chains' official nutrition information — for fast-food menu items (the Highest Protein Fast Food pages). Values reflect standard US preparations and are subject to location, customization, and menu changes — each page links the chain's official source and a verification reminder.

Restaurant menu items are scored with the identical Protein Density formula and the same four tier thresholds (Platinum ≥ 40%, Gold 25–39%, Silver 15–24%, Avoid < 15%). Nothing about the math changes for restaurants — only the data source does.

A small number of products are curated owner picks — items the team genuinely uses. They are scored by the exact same deterministic Protein Density formula and four tier thresholds as everything else (no tier inflation, ever), and any first-hand tasting note shown on the product page is a disclosed personal-experience signal, not a sponsored placement.

We do not display retail prices on Day 1 of the site. The "$ per 100g of protein" metric is on our roadmap and will launch when we wire pricing data ingestion.

Leucine metric and MPS threshold

Where available, each snack page shows a leucine per serving figure alongside a badge indicating whether the serving meets the ~2.5 g threshold for maximal muscle protein synthesis (MPS) stimulation.

How leucine is estimated

USDA FoodData Central does not publish per-amino-acid values for branded packaged goods — those Branded records carry macronutrients only. Per-amino-acid data exists in USDA's Foundation and SR Legacy datasets, but only for generic, commodity foods (e.g. "Yogurt, Greek, plain, nonfat"), not for specific SKUs. So the leucine figure shown for a snack is a source-based estimate, not a label-measured value.

We estimate leucine from the product's dominant protein source, applying the leucine-as-a-fraction-of-protein ratio that USDA amino-acid reference profiles imply for that protein class (whey isolate ≈ 10–11%, milk/casein/Greek-yogurt/cheese ≈ 9.5%, whole egg ≈ 8.5%, beef/poultry ≈ 8%, soy/pea ≈ 8–8.2%, blended plant/nut ≈ 7.8%, wheat/grain ≈ 7%, collagen ≈ 2.5%):

leucine_g = protein_g × leucine_fraction(dominant source)   [rounded to 2 decimal places]

For heroes that are essentially a generic commodity — plain nonfat Greek yogurt, low-moisture part-skim mozzarella string cheese, beef jerky, lowfat cottage cheese, a large egg, nonfat milk — we substitute the exact USDA SR Legacy leucine value for that food (scaled to a representative serving) instead of the protein-class estimate. The dominant source is classified deterministically from the product's category, brand and name (USDA SR Legacy amino-acid reference profiles; Gorissen et al. 2018 protein-quality data). Coverage is effectively complete because every product has a classifiable protein source; a product the classifier cannot resolve falls back to a conservative blended factor or omits the field entirely (the leucine column then shows "—" and it is excluded from the highest leucine foods ranking).

The ~2.5 g MPS threshold

Leucine acts as a metabolic signal — not merely a substrate — for initiating muscle protein synthesis via mTORC1 activation. The research consensus is that approximately 2.5–3 g of leucine per meal is required to maximally stimulate MPS; below this threshold the anabolic response is submaximal regardless of total protein intake (Norton & Layman 2006; Witard et al. 2014). We use 2.5 g as the practical minimum — the conservative end of the evidence range — and display a "✓ Hits the ~2.5 g MPS trigger" badge when a single serving reaches this level.

Why this matters, who it matters most for (GLP-1 users and older adults), and how leucine complements Protein Density: read the full leucine pillar →

Estimate — honest disclosure: The leucine figure and MPS badge are a source-based estimate, derived from the product's dominant protein type (or an exact USDA SR Legacy value for commodity foods), not measured from a manufacturer's amino-acid panel for that specific SKU. Real leucine varies with the exact protein blend, flavour system and processing. Treat the figure as a directional indicator, not a clinical measurement. Always check the manufacturer's full amino acid profile where accuracy is critical (e.g., post-surgery, clinical nutrition).

Protein quality: incomplete proteins & collagen

Protein Density measures efficiency (protein per calorie) and leucine measures the MPS signal per gram. Neither, on its own, catches a protein that is fundamentally the wrong tool: collagen. Collagen is nitrogen-rich, so a label can truthfully claim a high protein number, and its raw Protein Density can look elite — yet it is an incomplete protein that contains zero tryptophan and has a DIAAS as a sole protein of effectively 0.

We model this deterministically. Collagen carries a leucine fraction of ~2.5% (the lowest in the model — versus whey's ~10.5%), and a separate completeness verdict marks collagen as the one source whose grams do not count toward a muscle-protein target. Leucine-matched randomized trials are explicit on this: hydrolyzed collagen did not raise myofibrillar (muscle) protein synthesis at rest or after exercise even when leucine was equalised to whey (Oikawa et al. 2020, AJCN; Aussieker & van Loon 2023, PMC10487367; amino-acid/DIAAS review — Nutrients 2020, 12(9):2670).

The honest rule we apply everywhere on the site: count collagen's calories (~4 kcal/g of real, absorbed amino acids) but do not count its grams toward the protein number you are trying to hit for muscle. The Collagen Reality Check applies exactly this: muscle-effective protein = logged protein − collagen grams. Collagen retains reasonable (often industry-funded) evidence for skin and joints at ~2.5–15 g/day with vitamin C over 8–12 weeks (skin meta-analysis PMC10180699; Shaw et al. 2017, PMC5183725) — a separate goal, tracked as a supplement, not as protein. Full breakdown: does collagen count as protein →

Consistency note: the collagen leucine fraction and the "does not count toward the muscle target" verdict are the same deterministic constants the site code uses (leucine.ts / protein-quality.ts); the comparison tables on the collagen pages are rendered from those constants so this methodology and the tools cannot drift apart.

Cost efficiency: PCE (protein per dollar)

Density tells you whether a product is protein-dense relative to its calories. PCE — Protein Cost-Efficiency — tells you whether it is protein-dense relative to its price. The metric is the grams of protein you get per dollar spent, computed from inputs you provide in the Protein-per-Dollar calculator:

PCE = (protein_g per serving × servings per package) ÷ retail price in USD
    = total package protein in grams ÷ price
    [units: g protein / $]

Bands are calibrated against typical supplement-aisle products: high ≥ 25 g/$ (bulk whey isolate tubs, Costco RTDs, lean cuts), mid 10–24.9 g/$ (most retail protein powders and mainstream protein bars), low < 10 g/$ (premium bars, single-serve RTDs). Higher is better — PCE is the inverse direction of the older $/10g protein metric we also display (both are kept so the calculator's output reads naturally on a Reddit comparison post in either framing).

No retail price scraping. PCE is user-input — you enter the price you paid (or the price you see) and the calculator does the math. We do not fetch live prices from any retailer. See the cost.ts source for the canonical implementation.

Effective protein: DAY (bioavailability-adjusted yield)

A label that says "25 g protein" is not the same 25 g across sources. Whey isolate (DIAAS ≈ 1.15) and rice protein (DIAAS ≈ 0.59) deliver very different amounts of digestible, muscle-usable amino acids per gram on the label. DAY — Bioavailability-Adjusted Yield — collapses that difference onto the same axis:

DAY = min(protein_g, protein_g × DIAAS_source)   [units: g effective protein]

Per-source DIAAS values are a fixed lookup in diaas-coefficients.ts: whey isolate 1.15, casein 1.18, egg 1.13, meat 1.10, soy isolate 0.90, pea isolate 0.82, plant blends ~0.80, single-source rice/grain 0.59, collagen 0.00 (FAO/WHO 2013; Mathai et al. 2017; Phillips 2017).

Why the clamp matters

DIAAS values above 1.00 (whey, casein, egg, meat) are real — they report that the limiting essential amino acid is in surplus relative to the FAO reference pattern. But a DIAAS of 1.18 does not mean a 25 g serving delivers 29.5 g of usable protein. The product still has 25 g on the label; the surplus indicates quality, not quantity. So DAY is clamped at the label protein. Any source with DIAAS ≥ 1 yields DAY = protein_g (no over-credit). Sources below 1 yield a discounted "effective" value. Collagen yields zero, matching the protein-quality verdict above.

DAY appears as a tooltip on the Bioavailability badge wherever a protein source and label protein are both known (snack and powder detail pages; the Protein-per-Dollar calculator when a source is selected). The categorical badge — Complete / Complete (mod.) / Complementary / Incomplete — remains the at-a-glance signal; DAY is the precise figure for those who want it.

Third-party certifications

Heavy metals and undisclosed ingredients are real concerns for protein powders — independent reporting (Consumer Reports, the Clean Label Project) has documented lead and cadmium well above recommended limits in some products, with the highest rates in chocolate-flavoured plant blends. We record which third-party programs each product is enrolled in, with a structured slug rather than a free-text mention, so the badge tells you what each program actually verifies:

  • NSF Certified for Sport — identity (label matches contents), purity, screen for >280 athletic-banned substances per batch, facility audit. The strongest broadly-available certification.
  • NSF Contents Certified — identity + purity + manufacturing audit. Does NOT include banned-substance screening.
  • Informed Sport / Informed Choice (LGC) — per-batch banned-substance testing. Informed Sport is the athlete-grade per-production-batch tier.
  • USP Verified — identity + strength + manufacturing audit by the U.S. Pharmacopeia. Strong on label-accuracy and contaminant limits.
  • Clean Label Project Purity Award — tests for >130 environmental and industrial contaminants including lead, arsenic, cadmium, mercury, BPA, and pesticides. Purpose-built for the heavy-metals concern.
  • GMP — facility follows FDA Current Good Manufacturing Practice rules. Process audit only — does not test the finished product.

Cert presence is a binary signal we record from manufacturer disclosure + the public NSF / USP / Informed / Clean Label Project directories. We do not endorse certified products over uncertified ones — many high-quality powders skip certification because of cost — but the badge gives you the information explicitly rather than leaving you to scan the back panel. The cert registry lives in certifications.ts.

The heavy-metal-tested standard

We flag a product heavy_metal_tested only when the brand publishes actual third-party heavy-metal lab results — a Certificate of Analysis, per-serving lead/arsenic/cadmium/mercury figures, or a purity certification such as the Clean Label Project award. A bare "we test for heavy metals" marketing claim is not enough to earn the badge. The reason is concrete: two plant powders in this database make testing claims yet were flagged by Consumer Reports for elevated lead — so an unverifiable claim is exactly the signal we refuse to launder into a trust badge.

Sweetener classification

"Protein" products span genuinely unsweetened isolates, stevia/monk-fruit naturals, sucralose and acesulfame-K artificials, sugar-alcohol (polyol) systems, and added sugar. The keto and GI-sensitive audiences filter hard on this, so each product carries a single headline sweetener_type plus a separate sugar_alcohols array (erythritol, xylitol, maltitol, sorbitol, allulose) — because which polyol matters (erythritol is well-tolerated; maltitol spikes blood sugar and GI distress for many).

Powder sweeteners are hand-verified from the manufacturer ingredient panel. Snack sweeteners are classified from the Open Food Facts ingredient deck by a token matcher (enrich-sweetener.mjs), keeping the OFF barcode for provenance. Classification is confidence-gated: a clean single-sweetener deck is written automatically, but anything ambiguous or mixed is left unset for manual review rather than guessed. When a polyol is only the bulking agent alongside a high-intensity sweetener (e.g. stevia + erythritol), the headline type is the high-intensity one and the polyol is surfaced in sugar_alcohols — the sugar-alcohol type is reserved for products where a polyol is the dominant sweetener. The display registry lives in sweeteners.ts.

Restaurant dishes: estimated from USDA ingredients

National chains publish official nutrition data, so the Highest Protein Fast Food pages use real label numbers. Independent restaurants — the sushi, Indian, Mexican, Chinese, Thai and Italian places behind the eating-out cuisine guides — have no nutrition label and no authoritative database. We do not invent numbers. Instead we reconstruct each dish deterministically from its ingredients.

For every dish, a hand-authored recipe spec lists each ingredient and the grams in a typical restaurant portion. Each ingredient is looked up in USDA's SR-Legacy / Foundation Foods datasets (public-domain government data) by its FoodData Central ID, and the dish total is summed:

dish_protein_g = Σ (ingredient.protein_per_100g ÷ 100) × ingredient.amount_g
dish_calories  = Σ (ingredient.calories_per_100g ÷ 100) × ingredient.amount_g

That dish total is then scored through the identical Protein Density formula and tier thresholds (Platinum ≥ 40%, Gold 25–39%, Silver 15–24%, Avoid < 15%) used everywhere else on the site — nothing about the math changes for restaurants, only the data source does. The pipeline aborts rather than emit a dish if any ingredient cannot be resolved, so there is no guessed nutrition. Every ingredient's USDA FDC ID is recorded with the dish. A small number of whole-food items USDA lacks as a clean single record (e.g. paneer, naan, prepared sauces) use a documented label-typical value with its basis cited in the ingredient's description; these are the only non-USDA figures and are flagged as manual.

Estimate — honest disclosure: a reconstructed restaurant dish is an estimate, not a label-measured value. Restaurant portions, ingredient ratios, oil absorbed in cooking, and preparation vary significantly between restaurants and even between two orders at the same restaurant. Every dish on the cuisine pages is marked est. Treat the figures as directional guides for what to order, not clinical measurements. If exact macros matter (for example, managing GLP-1 side effects or clinical nutrition), confirm with your server or weigh your food. USDA reference data: FoodData Central (SR-Legacy & Foundation Foods, public domain).

Whole-foods database

The Whole Foods Protein Database ranks single-ingredient foods (meat, fish, dairy, plant proteins, pasta) at standard reference servings. Every row's protein and calorie values are pulled from USDA FoodData Central — SR-Legacy / Foundation Foods via the same ingest discipline as the cuisine wedge above. The build aborts rather than emit a food if its USDA query fails to resolve, so no row ships with guessed nutrition.

One row is the documented exception: Banza chickpea pasta. USDA SR-Legacy has no chickpea-pasta record, so this row's values come straight off the manufacturer nutrition panel (2 oz dry = 200 kcal / 14 g protein) and are flagged as manufacturer-label in the source-provenance table on /foods. This is the same pattern the cuisine pipeline uses for prepared-sauce ingredients USDA lacks (marinara, alfredo, teriyaki glaze) — manufacturer label is the documented fallback, always disclosed alongside the row.

Scoring uses the identical Protein Density formula and tier thresholds. The same foods.json dataset feeds the homepage Density Swimlane's "Whole foods" lane, so the chart and the database can never drift apart.

Disclaimer

ProteinBenchmark is educational. Nothing here is medical advice. If you're on medication (including GLP-1 agonists), pregnant, breastfeeding, have kidney disease, or any chronic condition, talk to a registered dietitian or your doctor before changing your protein intake.

Powered by ProteinBenchmark — free protein calculators & nutrition database