Ingredients/Parsing

From Open Food Facts wiki
Revision as of 16:08, 7 August 2024 by Teolemon (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page collects what we know about ingredient parsing.


 rietsuiker*, plantaardige olie* (zonnebloem, palm), 13% _hazelnoot_*, 7.5% magere cacaopoeder*, magere _melk_poeder*, emulgator (_soja_lecithine), vanille*.
*Van biologische oorsprong.

EU Regulation based parsing

Comma separator

  • Ingredients are separated by a comma (,) generally followed by a single space
rietsuiker, plantaardige olie
  • They can be separated by other symbols
 • Polyquaternium-67 • Propylene Glycol • 

Dot

Indicates the end of the ingredients list. Can indicate the start of a new main ingredient, usually when followed by a new Ingredient name followed by a colon:

ingredients: .... . Cocosmilk: .... . Curry: .... .

Asterisk(s) ('*') or Hash(es) ('#') at the start of an ingredient

Indicates an annotation for one or more ingredients that have the same number of asterisks at the end. For instance, some items above are indicated as of biological origin

Asterisk(s) or Hash(es) ('#') at the end of an ingredient

Indicates that this ingredient has an annotation (see above)

Parenthesis

Can indicate sub-components, that can also sometimes interpret to an E-Number. For instance: emulgator (sojalecithine) interprets to E322

Can indicate percentage if no other data present (e.g. (34%) in which case the parentheses can be ignored.

Can indicate an alternative name, typically indicated as (=alternative name), which can be ignored (alternate names are in the taxonomys), unless perhaps if the original name is not yet known (then report)

Sometimes alternated with square brackets ([]) in recursive details.

Colon

Can indicate sub-components, similar to parenthesis

Percentage

Indicates the quantity

Order

Items are required to be listed in order of largest to smallest quantity

Some examples

Links