GrubFacts

Food transparency, no vibes

Is that food
actually good
for you?

Scan a barcode. We break the label into every single ingredient, score each one against published research and third-party data, then hand you one letter — and the full arithmetic behind it.

No sponsored gradesEvery claim citedWe show the maths
2Partially hydrogenated oil5Potassium bromate6Brominated vegetable oil8Red 3 (erythrosine)12High-fructose corn syrup15Titanium dioxide18Azodicarbonamide18Corn syrup18Sodium nitrite20BHA (butylated hydroxyanisole)22Propylparaben22Red 40 (Allura Red)22Yellow 5 (tartrazine)24Yellow 6 (Sunset Yellow)2Partially hydrogenated oil5Potassium bromate6Brominated vegetable oil8Red 3 (erythrosine)12High-fructose corn syrup15Titanium dioxide18Azodicarbonamide18Corn syrup18Sodium nitrite20BHA (butylated hydroxyanisole)22Propylparaben22Red 40 (Allura Red)22Yellow 5 (tartrazine)24Yellow 6 (Sunset Yellow)

The scale

One letter, 0-100 underneath it. An average alone would let one genuinely bad ingredient hide behind a wholesome list, so a bad ingredient near the front of a label caps the grade outright.

A
Eat it

Whole ingredients, nothing to explain away.

B
Fine

Solid, with a compromise or two.

C
Meh

Processed. Not a problem occasionally.

D
Careful

Real red flags on the label.

F
Nope

We would not put this in our bodies.

How we get there

01

Split the label

Every ingredient, in order, sub-ingredients in brackets pulled out too. Label order is weight order, so what comes first counts most.

02

Score each one

Each ingredient carries a 0-100 score from regulatory rulings, peer-reviewed work and NGO research. Anything we have not researched lowers our confidence instead of quietly counting as fine.

03

Add the context

Sugar, salt, saturated fat, processing tier, and what the company behind the brand actually does. Every adjustment is listed on the product page as its own line.