Methodology · Food
How Luminelle scores food.
Scan a food barcode and Luminelle gives it a score from 0 to 100 with the reasons behind it. The score weighs three things - how the product fares nutritionally, what the additives in it are known to do, and how processed it is - and every additive level points to the regulator or study it comes from. It is not medical advice, and it never calls a legal product dangerous.
Cosmetics are scored differently. That method is on the cosmetic methodology page.
The short version
- Nutrition is worth 60 points, additives 30 and processing 10.
- A high-risk additive, processed meat or a Nutri-Score E caps the score at 49, the top of “Poor”, however good the rest looks.
- Each additive level is a rule applied to a regulator's finding, with the source one tap away.
- No ingredient list means no overall score. A missing list is never read as “no additives”.
- Personal notes - pregnancy guidance, and ingredients you've asked us to point out - are shown beside the score and never change it.
The formula
| Part | Points | From |
|---|---|---|
| Nutrition | 60 | Nutri-Score (2023 method), mapped onto a band per letter. |
| Additives | 30 | Evidence-graded risk levels. Each risk group costs its points once. |
| Processing | 10 | NOVA group: 1 or 2 scores 10, 3 scores 5, 4 scores 0. Unknown scores 5. |
The three parts are added and rounded, then capped at 49 if any cap applies. Labels follow the score: 90 and above is Excellent, 70 Good, 50 Fair, and below 50 Poor.
Nutrition
Nutrition is the Nutri-Score under its 2023 algorithm, as computed by Open Food Facts from the product's nutrition table. It counts energy, sugars, saturated fat and salt against protein, fibre and fruit, vegetables and legumes, with separate tables for drinks, for fats, oils, nuts and seeds, for cheese and for red meat. Where a product has to be prepared, the prepared values are used. Open Food Facts tells drinks from foods by their categories. So when a product whose first ingredient is carbonated water has been graded on the food table, we grade it again as a drink from the same figures.
Each letter owns a band of the 60 points, and within the band fewer Nutri-Score points score higher. The letter decides the band, so a B can never score below a C.
| Grade | Score | Foods (points) | Fats, oils, nuts | Drinks |
|---|---|---|---|---|
| A | 48 to 60 | 0 or lower (clamped at −10) | −6 or lower (clamped at −12) | Water only, which scores 60 |
| B | 36 to 47 | 1 to 2 | −5 to 2 | 2 or lower |
| C | 24 to 35 | 3 to 10 | 3 to 10 | 3 to 6 |
| D | 12 to 23 | 11 to 18 | 11 to 18 | 7 to 9 |
| E | 0 to 11 | 19 or higher (clamped at 40) | 19 or higher (clamped at 40) | 10 or higher (clamped at 20) |
When we call sugars, saturated fat or salt low, moderate or high, we use the UK front-of-pack traffic-light thresholds per 100 g, or per 100 ml for drinks. These words don't change the score; they describe the label. Nutri-Score's own points run on a stretched scale, so 33 g of sugar is only 9 of 15 points. DHSC/FSA guidance, November 2016.
| Per 100 g (drinks per 100 ml) | Low | High |
|---|---|---|
| Sugars | 5 g or less (drinks 2.5 g) | over 22.5 g (drinks 11.25 g) |
| Saturated fat | 1.5 g or less (drinks 0.75 g) | over 5 g (drinks 2.5 g) |
| Salt | 0.3 g or less | over 1.5 g (drinks 0.75 g) |
Additives
The additive part starts at 30. Each additive is given the highest level whose rule it meets, and each level takes points once per risk group - three azo colours cost the same as one, because the finding is about the group. Anything not in the knowledge base is shown as not assessed and costs nothing.
| Level | Rule | Effect |
|---|---|---|
| High | Authorisation withdrawn or revoked on safety grounds in the EU or by the US FDA; or a regulator found a health concern at current exposure and IARC links it to cancer (Group 1 or 2A). | Additives score 0 and the total is capped at 49 |
| Moderate | EFSA concluded a safety concern, set only a temporary acceptable daily intake, or found realistic intake above it; or IARC Group 2B plus an active regulator reassessment; or a mandatory EU health warning label. | −10 |
| Limited | Cleared by regulators, but a later human study links it to harm with a supporting mechanism, or WHO recommends against the use; or an IARC Group 2B contaminant whose intake limit was since reaffirmed. | −4 |
| Watch | A worst-case intake note, or a signal from a single study that regulators have not taken up. | Shown, not scored |
| No concern | Re-evaluated with no safety concern at reported uses. | 0 |
| Not assessed | Not in the knowledge base yet. Never read as safe. | 0 |
These are the additives with a level above no concern, and the source each one rests on.
| Additive | E-number | Level | Source |
|---|---|---|---|
| Titanium dioxide | E171 | High | EFSA 2021; Regulation (EU) 2022/63 |
| Erythrosine (Red 3) | E127 | High | US FDA revocation, January 2025 |
| Brominated vegetable oil | E443 | High | US FDA revocation, July 2024 |
| Potassium bromate | E924 | High | IARC Group 2B; not authorised in the EU |
| Propylparabens | E216, E217 | High | EFSA 2004; Directive 2006/52/EC |
| Red 2G | E128 | High | EFSA 2007; EU suspension |
| Nitrites and nitrates | E249 to E252 | High | IARC Group 2A; EFSA 2023 nitrosamines |
| Partially hydrogenated oils | By name | High | US FDA determination, 2015 |
| Sulphites | E220 to E228 | Moderate | EFSA 2022 |
| Phosphate additives | E338 to E341, E343, E450 to E452 | Moderate | EFSA 2019 |
| Synthetic colours with the EU warning label | E102, E104, E110, E122, E124, E129 | Moderate | Regulation (EC) 1333/2008, Annex V |
| Glutamates | E620 to E625 | Moderate | EFSA 2017 |
| Aluminium additives | E173, E520 to E523, E541, E554 to E559 | Moderate | EFSA 2008; Regulation (EU) 380/2012 |
| Carrageenans | E407, E407a | Moderate | EFSA 2018 |
| Erythritol | E968 | Moderate | EFSA 2023 |
| BHA | E320 | Moderate | IARC Group 2B; US FDA reassessment, 2026 |
| Non-sugar sweeteners | E950 to E969 | Limited | WHO guideline, 2023 |
| Cellulose thickeners, including CMC | E460 to E468 | Limited | BMJ 2023; Gastroenterology 2022 |
| Mono- and diglycerides | E471, E472a to E472e | Limited | PLoS Medicine 2024; BMJ 2023 |
| Ammonia caramels | E150c, E150d | Limited | IARC Group 2B (4-MEI); EFSA 2011 |
| Synthetic blue and green colours | E132, E133, E143 | Limited | US FDA, April 2025 |
| Sorbates | E200 to E203 | Watch | EFSA 2019; BfR 2026 |
| Benzoates | E210 to E213 | Watch | EFSA 2016 |
| Polysorbates | E432 to E436 | Watch | EFSA 2015 |
| Emulsifier esters | E473, E481, E482, E491 to E495 | Watch | EFSA re-evaluations |
| Azodicarbonamide | E927a | Watch | Not authorised in the EU (Regulation 1333/2008) |
Regulatory status is shown as fact next to the level - “banned as a food additive in the EU since 2022”, “US FDA revoked” - and a product sold legally is described as legal. The words used are the regulators' own.
Processing
Processing is the NOVA group Open Food Facts assigns from the ingredient list: 1 unprocessed or minimally processed, 2 a processed culinary ingredient, 3 processed, 4 ultra-processed. The app shows what put a product in its group, such as a flavouring or an emulsifier. When the group can't be worked out, the part scores 5 of 10 and says so. Plain water with nothing added counts as unprocessed.
US products
About half of the US products in Open Food Facts are missing an ingredient list or a full nutrition table. When a product is missing, or can't be scored from Open Food Facts, Luminelle looks it up in USDA FoodData Central, the US Department of Agriculture's public database of manufacturers' labels. A USDA record is only used when it can be scored in full, and replaces the Open Food Facts one whole rather than being mixed with it.
USDA publishes no Nutri-Score, so Luminelle computes one from the label, to the same 2023 rules; our implementation matches Open Food Facts' grade and points on every product we test it against where Open Food Facts scored the label itself rather than estimated values. Three differences are marked as estimated in the app, and each can only lower a score:
- US labels don't state the share of fruit, vegetables and legumes, so it counts as zero - except for 100% juices.
- Where a label omits sugars or saturated fat but gives carbohydrates or total fat, the missing line is scored at its ceiling.
- Additives are found by name (“Red 40”, “mono- and diglycerides”), and processing is only ever read as ultra-processed or unknown - text alone can't prove a food is unprocessed.
Processed meat
IARC classifies processed meat - cured, smoked or salted, including “uncured” products preserved with celery powder - as carcinogenic to humans (Group 1), based on colorectal cancer. Any processed meat is capped at 49 whatever additives it lists, so a nitrite-free label can't outscore the product it replaces.
Your food preferences
In Settings you can ask Luminelle to point out seed oils, added sugar, flavourings, gums and thickeners, artificial sweeteners or palm oil. A product that contains one gets a note under “For you”. These are preferences, not findings: several are popular rules that the evidence doesn't support as health risks - the American Heart Association still recommends seed oils over saturated fat - so they never move the score.
Labels are checked the same way whatever language they're printed in. Open Food Facts reads each ingredient into a language-neutral entry - dextrose, zahăr and Zucker all become added sugar - and we check those entries, and the label text only for what it couldn't read. If too much of a list can't be read, the note says so rather than staying quiet. Pregnancy notes work the same way.
When there is no score
- Nutrition only. The ingredient list is missing, or too much of it couldn't be read (more than 30% unrecognised, though one unrecognised ingredient is fine on a list of three or more). The Nutri-Score part is shown; the total is not. Single-ingredient foods - water, oils, honey, eggs, plain nuts - are scored without a list.
- Not enough data. The nutrition table is missing or physically impossible, for example more calories in kcal than in kJ. It is also not scored when the kcal and kJ figures can't describe the same 100 g (more than 20% apart). That usually means some figures are per serving.
- Not rated. Nutri-Score doesn't rate alcohol, chewing gum, baby food, supplements, or plain tea, coffee, herbs and spices, so neither do we.
Sources and licences
| Source | Role |
|---|---|
| Open Food Facts | Product data: nutrition, ingredients, additives, Nutri-Score and NOVA. Open Database Licence; photos CC BY-SA. |
| USDA FoodData Central | US product labels (nutrition and ingredients) when Open Food Facts lacks a product or can’t score it. Public domain. |
| Santé publique France | The Nutri-Score (2023 algorithm) conditions of use. |
| EFSA | Food additive re-evaluations, intake limits and safety conclusions. |
| IARC Monographs | Cancer hazard classifications, including processed meat. |
| US FDA | Revocations and reassessments of food additives and colours. |
| WHO | Guidelines on non-sugar sweeteners and trans fat. |
| European Union | Regulation (EC) 1333/2008 on food additives and its warning labels. |
| NHS and US FDA | Pregnancy and breastfeeding food guidance, shown under “For you”. Never scored. |
Product data contains information from Open Food Facts, available under the Open Database Licence.
Changelog
| Date | Change |
|---|---|
| 23 September 2026 | First version: nutrition, additives and processing; processed-meat finding; pregnancy notes. |
| 23 September 2026 | US products: USDA FoodData Central as a second source, with our own Nutri-Score and NOVA reading for its labels. |
| 23 September 2026 | Food preferences: opt-in notes for ingredients you choose. Never scored. |
| 23 September 2026 | Low, moderate and high for sugars, saturated fat and salt now follow the UK front-of-pack thresholds. Nutrition tables whose kcal and kJ disagree are no longer scored. |
| 23 September 2026 | Food preferences and pregnancy notes read Open Food Facts’ language-neutral ingredient entries, so a label in any language is checked the same way; an unreadable list is said to be one. |
| 23 September 2026 | Errors in a label’s per-serving column no longer void its per-100 g grade. Sodas graded on the food table are graded as drinks. Plain water counts as unprocessed. Coffee that makes up a real share of a product counts as caffeine. |
| 24 September 2026 | A jar of honey, sugar or plain syrup is no longer called “added sugar” - it is the sugar. Carob seed flour and guar flour count as the gums they are. |
| 24 September 2026 | One unrecognised ingredient no longer stops a list of three or more from being scored. |
Corrections
If you think an additive is at the wrong level, or a source is out of date, write to info@luminelle.ai with the citation.