The Grading Room

Every food, graded. No vibes — just the numbers.

Home / Guides / Methodology

Methodology

How we grade food

One formula per category, published in full. Every factor is scored 0–100 against a fixed benchmark, multiplied by its weight, and ranked. If you disagree with a grade, this page tells you exactly which input to argue with.

The formula, per board

Proteins

FactorBenchmark (100 = max)Weight
Protein25 g protein per 100 kcal×25
Protein quality (DIAAS)DIAAS 115 (capped)×20
Micronutrientsmicronutrient panel %DV sum ÷ 400×30
Omega-31.5 g omega-3 per 100 kcal×10
Clean labelsat fat ≤ 8 g, sodium ≤ 800 mg per 100 kcal×15

Vegetables

FactorBenchmark (100 = max)Weight
Protein15 g protein per 100 kcal×10
Fiber12 g fiber per 100 kcal×25
Micronutrientsmicronutrient panel %DV sum ÷ 600×40
Low energy densityenergy density bonus (lower kcal wins)×10
Clean labelsodium ≤ 800 mg per 100 kcal×15

Carbohydrates

FactorBenchmark (100 = max)Weight
Protein10 g protein per 100 kcal×15
Fiber8 g fiber per 100 kcal×30
Micronutrientsmicronutrient panel %DV sum ÷ 200×25
Whole foodwhole-food status (100 / 50 / 0)×10
Clean labelsodium ≤ 600 mg per 100 kcal + whole-food bonus×20

Fats & Oils

FactorBenchmark (100 = max)Weight
Healthy fats12 g unsaturated fat (MUFA + PUFA) per 100 kcal×30
Omega-33 g omega-3 per 100 kcal×10
Micronutrientsmicronutrient panel %DV sum ÷ 200×15
Low saturated fatsaturated fat ≤ 10 g per 100 kcal×25
Clean labelsodium ≤ 600 mg per 100 kcal + intact-food bonus×20

Fruits

FactorBenchmark (100 = max)Weight
Fiber12 g fiber per 100 kcal×25
Micronutrientsmicronutrient panel %DV sum ÷ 400×40
Low energy densityenergy density bonus (lower kcal wins)×15
Clean labelsodium ≤ 400 mg per 100 kcal + whole-fruit bonus×20

Dairy & Eggs

FactorBenchmark (100 = max)Weight
Protein25 g protein per 100 kcal×30
Calcium30% DV calcium per 100 kcal×20
Low saturated fatsaturated fat ≤ 8 g per 100 kcal×20
Micronutrientsmicronutrient panel %DV sum ÷ 200×15
Clean labelsodium ≤ 800 mg per 100 kcal + cultured bonus×15

Fast Food

FactorBenchmark (100 = max)Weight
Protein15 g protein per 100 kcal×20
Fiber6 g fiber per 100 kcal×10
Micronutrientsnot on chain labels — scored 0, disclosed×10
Low saturated fatsaturated fat ≤ 8 g per 100 kcal×20
Low sodiumsodium ≤ 800 mg per 100 kcal×20
Low sugarsugar ≤ 20 g per 100 kcal×20

Snacks & Candy

FactorBenchmark (100 = max)Weight
Protein15 g protein per 100 kcal×20
Fiber6 g fiber per 100 kcal×10
Micronutrientsnot on manufacturer labels — scored 0, disclosed×10
Low saturated fatsaturated fat ≤ 8 g per 100 kcal×20
Low sodiumsodium ≤ 800 mg per 100 kcal×20
Low sugarsugar ≤ 25 g per 100 kcal×20

Beverages

FactorBenchmark (100 = max)Weight
Protein15 g protein per 100 kcal×5
Fiber6 g fiber per 100 kcal×5
Micronutrientsminimal panel — mostly zeros, disclosed×10
Low saturated fatsaturated fat ≤ 8 g per 100 kcal×10
Low sodiumsodium ≤ 800 mg per 100 kcal×20
Low sugarsugar ≤ 25 g per 100 kcal×50

Cereals

FactorBenchmark (100 = max)Weight
Protein10 g protein per 100 kcal×15
Fiber8 g fiber per 100 kcal×30
Micronutrientsmicronutrient panel %DV sum ÷ 200×20
Whole foodwhole-food status (100 / 50 / 0)×15
Clean labelsodium ≤ 600 mg per 100 kcal + whole-food bonus×20

Breads

FactorBenchmark (100 = max)Weight
Protein10 g protein per 100 kcal×15
Fiber8 g fiber per 100 kcal×30
Micronutrientsmicronutrient panel %DV sum ÷ 200×20
Whole foodwhole-food status (100 / 50 / 0)×15
Clean labelsodium ≤ 600 mg per 100 kcal + whole-food bonus×20

Cheeses

FactorBenchmark (100 = max)Weight
Protein25 g protein per 100 kcal×25
Calcium30% DV calcium per 100 kcal×25
Low saturated fatsaturated fat ≤ 8 g per 100 kcal×25
Micronutrientsmicronutrient panel %DV sum ÷ 200×10
Clean labelsodium ≤ 800 mg per 100 kcal + cultured bonus×15

Milks

FactorBenchmark (100 = max)Weight
Protein25 g protein per 100 kcal×25
Calcium30% DV calcium per 100 kcal×30
Low saturated fatsaturated fat ≤ 8 g per 100 kcal×15
Micronutrientsmicronutrient panel %DV sum ÷ 200×15
Clean labelsodium ≤ 800 mg per 100 kcal + cultured bonus×15

Condiments & Sauces

FactorBenchmark (100 = max)Weight
Protein15 g protein per 100 kcal×5
Fiber6 g fiber per 100 kcal×5
Micronutrientsminimal panel — mostly zeros, disclosed×10
Low saturated fatsaturated fat ≤ 8 g per 100 kcal×15
Low sodiumsodium ≤ 800 mg per 100 kcal×40
Low sugarsugar ≤ 25 g per 100 kcal×25

Seafood

FactorBenchmark (100 = max)Weight
Protein25 g protein per 100 kcal×25
Protein quality (DIAAS)DIAAS 115 (capped)×15
Micronutrientsmicronutrient panel %DV sum ÷ 400×25
Omega-31.5 g omega-3 per 100 kcal×20
Clean labelsat fat ≤ 8 g, sodium ≤ 800 mg per 100 kcal×15

Plant Proteins

FactorBenchmark (100 = max)Weight
Protein20 g protein per 100 kcal×30
Protein quality (DIAAS)DIAAS 115 (capped)×20
Fiber8 g fiber per 100 kcal×15
Micronutrientsmicronutrient panel %DV sum ÷ 300×20
Clean labelsat fat ≤ 8 g, sodium ≤ 800 mg per 100 kcal×15

Nuts & Seeds

FactorBenchmark (100 = max)Weight
Healthy fats12 g unsaturated fat (MUFA + PUFA) per 100 kcal×30
Omega-33 g omega-3 per 100 kcal×10
Micronutrientsmicronutrient panel %DV sum ÷ 200×15
Low saturated fatsaturated fat ≤ 10 g per 100 kcal×25
Clean labelsodium ≤ 600 mg per 100 kcal + intact-food bonus×20

Breakfast

FactorBenchmark (100 = max)Weight
Protein15 g protein per 100 kcal×20
Fiber6 g fiber per 100 kcal×10
Micronutrientsminimal panel — mostly zeros, disclosed×10
Low saturated fatsaturated fat ≤ 8 g per 100 kcal×20
Low sodiumsodium ≤ 800 mg per 100 kcal×20
Low sugarsugar ≤ 25 g per 100 kcal×20

Tiers

After scoring, foods are ranked within their board. The top 10% earn S, the next 20% A, the next 30% B, the next 25% C, and the bottom 15% D. Tiers are relative — a B in vegetables and a B in fast food are not the same thing.

The denominator: per 100 calories

Scores are computed per 100 calories (nutrient density), not per 100 grams and not per serving. This rewards foods that deliver nutrition without much energy — and punishes calorie-dense foods, even beloved ones. Read why the denominator flips rankings.

Zero-calorie items: a handful of drinks and condiments (sparkling water, diet sodas, hot sauce) list 0 calories, which breaks per-100-calorie math. For those, the formula floors the denominator at 1 calorie — so they score on sodium, sugar, and everything else, honestly. Water still wins.
October 2026 formula change — fats board: the "healthy fats" factor now credits MUFA + PUFA (all unsaturated fat), capped at 12 g per 100 kcal. PUFA is derived as total fat minus saturated fat minus MUFA from the same label values. Previously the factor counted MUFA alone, which underrated PUFA-rich foods like walnuts.

Data sources

Limitations

A note before you eat your screen: grades are computed from published nutrition data with a transparent formula. They are a starting point for thinking about food, not medical advice. Talk to your doctor or a registered dietitian about your diet.