Skip to content
WheyWijzer

Open Nutrition Profile

An open way to describe what a nutrition label says, so a machine reads it as unambiguously as a person does.

Why we built it

We compare nutrition data for hundreds of products every day, and kept hitting the same wall: a number on the web does not say what it belongs to. Twenty grams of what? Per serving or per 100 grams? Which flavour, and sold in which country? Answering that takes minutes per product by hand, and a computer cannot answer it at all.

So we wrote down how it could work instead. Open Nutrition Profile records what a number means: which unit, which basis, which market, and where it came from. It sits as a layer on top of schema.org, so anything that only knows schema.org keeps reading what it always read.

The thinking behind it

Nutrition information should be checkable. Anyone comparing products should be able to see where a number came from and what it refers to, without taking it on trust. That is why this site exists, and a shared way of writing it down makes that possible for everyone instead of only for us.

What it solves

A per-100-gram value that ends up in a per-serving field. This is not a rare slip: we found it in our own database, on products where it had been sitting for a long time.

An American label has no per-100-gram column and no salt, only sodium in milligrams. Confusing those two puts you off by a factor of 2.5.

The same tub in two flavours carries two different labels. Without knowing which flavour a number belongs to, the number is unusable.

What we publish

Every product page carries the nutrition declaration as it appears on the label, with the unit, the basis and the market alongside it. What we do not know stays empty. We convert nothing and fill in nothing, because publishing a calculation as a reading is exactly what this is meant to prevent.

Where it stands

The specification is a first version and not finished. We use it ourselves, publish it openly and welcome anything that makes it better. Anyone may adopt it, because a standard belonging to one site is not a standard.

Read the specification at opennutritionprofile.org