No black boxes.
Every product gets two scores. The Whole Foods Score is universal — same for everyone, based on how real and minimally-processed the ingredients are. Your Score is personalized to the goals, diet, and avoidances you set on your profile.
Whole Foods Score — food
Starts at 60. Salt, natural saturated fat, cholesterol, and total calories are not penalized — real food isn't the enemy.
Positives
- +10 short ingredient list (≤5)
- +12 NOVA 1 unprocessed · +5 NOVA 2
- +8 natural saturated fat (butter, ghee, tallow, coconut, dairy, egg)
- +10 grass-fed / pasture-raised / wild-caught animal protein
- +6 fermented / probiotic (yogurt, kefir, kimchi, sauerkraut, miso)
- +6 no added sugar · +4 organic · +4 high fiber
Negatives
- −15 industrial seed oils (canola, soy, sunflower, corn, "vegetable oil")
- −12 added refined sugar · extra −8 if >15g/100g
- −12 artificial sweeteners · −20 hydrogenated / trans fats
- −15 ultra-processed (NOVA 4)
- −6 artificial colors / flavors (cap −15)
- −6 nitrites in cured meats · −4 BHA / BHT / benzoate (cap −10)
- −5 gut-irritant emulsifiers (polysorbate 80, carrageenan, CMC)
Whole Foods Score — cosmetics
Starts at 70. Same "real ingredients" philosophy for skincare, haircare, deodorants, makeup, and personal care.
Positives
- +10 recognizable plant oils / butters as base (shea, coconut, jojoba, argan)
- +8 short list (≤10) · +8 organic / COSMOS / Ecocert
- +6 fragrance-free · +4 essential-oil scent
- +3 cruelty-free · +2 vegan
Negatives
- −18 formaldehyde releasers (quaternium-15, DMDM, urea preservatives)
- −15 phthalates · −15 triclosan / triclocarban
- −12 parabens · −12 oxybenzone / octinoxate
- −10 undisclosed synthetic fragrance / parfum
- −10 harsh sulfates in leave-on (−6 in rinse-off)
- −8 aluminum compounds · −6 mineral oil / petrolatum
- −5 silicones in skincare · −5 drying alcohol high on list · −5 talc
- −4 PEG compounds (cap −10) · −6 coal-tar dyes (cap −12)
Your Score (personalized)
Starts at 50 for food, 75 for cosmetics, and adjusts using the factors below. Your profile changes the weights — a low-sugar goal makes sugar matter more, ignoring low-risk additives stops docking points for harmless ones.
Category-aware
Thresholds adapt to what the product is. Beverages get a stricter sugar cutoff than snacks. Cheese isn't punished for saturated fat like soda is.
Per 100g or per serving
Toggle on the product page. Serving mode uses the label's declared portion so a 30g cookie doesn't score like 100g of cookies.
Sugar / salt / saturated fat
Low = up to +12 (if you care), high = down to -20 (if you care).
Fiber / protein
Rewards good sources, weighted by your goals (up to +14).
Additives
Concerning additives (azo dyes, nitrites, BHA/BHT, aspartame, MSG) always hurt. Low-risk additives only count if you turn the toggle off.
Processing (NOVA)
Ultra-processed (NOVA 4) → -8. Unprocessed (NOVA 1) → +6.
Labels
Certified organic adds +4.
Allergen & diet flags
Never affect the score — they always show as loud warnings.
Confidence
When we have fewer than 2 nutrients on record, we mark the score as low confidence so you don't over-trust sparse data.
Blood type diet (optional)
If you set a blood type on your profile, Your Score gets a small nudge (up to ±8) based on the D'Adamo framework — bonus for beneficial foods for that type, penalty for foods that type is said to avoid. It's a folk-nutrition framework, not clinical guidance, and it never affects the Whole Foods Score.