How we decide the verdict
Every public food page has three rows: losing fat, building muscle and maintaining, each with an answer (yes · with caveats · no) and one line that says why, with the figure behind it. This page explains the whole rule.
What it is and what it isn't
- A fixed rule over the label. It reads only the nutrients per 100 g (or 100 ml), the declared serving if there is one, and the category. The same label always gets the same answer, for anyone. There is no AI model and no judgement that changes from one day to the next.
- Not the app's verdict. The app's is personal: your goal, what you don't eat, your plan and what you've had today. The two can disagree, and that gap is the question in the “What about you?” box on every page.
- Not medical advice. It says nothing about allergies, intolerances, diabetes, blood pressure, pregnancy or any condition. Nor does it grade food in the abstract: a food fits a goal or it doesn't.
What gets calculated
| Measure | Calculation |
|---|---|
| Energy density | kcal per 100 g ÷ 100 → kcal/g |
| Protein share | (protein g × 4) ÷ kcal |
| Protein per serving | protein per 100 g × serving g ÷ 100 |
A useful equivalence: a 12% protein share is 3 g per 100 kcal; a 20% share, 5 g per 100 kcal.
Before judging: the label has to add up
If the label cannot be true, no goal gets an answer and the page is not published:
- more than 950 kcal per 100 g, or a macronutrient above 100 g;
- sugars above carbs, or saturated fat above total fat (with 0.5 g of slack for rounding);
- declared energy and the energy computed with EU Regulation 1169/2011 factors (protein and carbs 4, fat 9, fiber 2 kcal/g) more than 20% apart (at least 20 kcal).
A real case: a crowdsourced database listed a plain Greek-style yogurt at 103.2 kcal while its own macros added up to 128 and its kJ figure gave 129. Without this check we would publish a verdict about a number that is not on the package.
Before publishing: the page has to be trustworthy
Even when the label adds up, a page is not published with a verdict if:
- a figure was not read off the label: an estimate from the source (arithmetic decimals, figures no serving explains) counts as missing, never as a value; if the goal needs it, that goal gets no answer;
- two figures on the same label disagree: kcal against kJ (more than 5%), salt against sodium, or per-100 g figures taken from a serving other than the declared one. The label rules, and if it is unclear which one is right, we wait;
- the kcal and the kJ are two calculations: kcal exactly 4·P + 4·C + 9·F + 2·fiber next to kJ exactly 17·P + 17·C + 37·F, more than 2.5% apart. Neither was read off the label, and the kcal count as missing;
- the kcal per serving can't be from a US label: for a product sold only in the US whose kcal per 100 g were worked out from the serving, kcal × serving has to land on the FDA rounding grid (multiples of 5 up to 50 kcal, of 10 above). No label prints 143 kcal for 33 g: the figures belong to another serving or another revision;
- the per-100 g figures come from a serving of 10 g or less: a per-serving label rounds calories to 5 and grams to half a gram, and prints “<1 g”; multiplied by ten or more, no per-100 g figure is the label's;
- a figure is a zero the label doesn't print: 0 salt in a cheese, a cured meat, a bread, a meal or a sauce (unless “no salt”), 0 g saturated fat with too much fat to round to zero, or the sugars of a Latin American dairy product far below its carbs (those are the added sugars, the next line). It counts as missing, never as zero. A 0 fiber in a bar or a cereal is missing too, but doesn't stop the page: fiber decides no answer;
- the sugars are an impossible 0: 0 g with 50 g of carbs or more in a honey, jam, syrup, sweet, chocolate or cookie, or with 5 g per 100 ml or more in a juice, nectar, soft drink, fruit drink or milk, unless the product says it is sweetened with something else (maltitol, sucralose, stevia…). That 0 counts as missing. And a honey with less than 60 g of sugars is not plausible (they run from 75 to 82);
- the salt can't belong to its category: more than 10 g per 100 g outside salt, stocks, seasonings and soy sauce; more than 3.5 g in cookies, pastries, cereals, chocolate, yogurt, ice cream, jam or drinks (sodium in milligrams with the decimal point moved); the sodium of a sodium-only label typed into the salt box; instant noodles with their broth below 2.5 g dry (they carry 3 to 7); or fresh or marinated meat (not cured, not cold cuts, not salted or smoked) above 3 g, when raw meat has 0.15 g and a marinade takes it to 1.5–2. That salt counts as missing;
- the figures are for the prepared product in a staple sold dry (rice, risotto, couscous, pasta, flours, dried soups below 200 kcal per 100 g), or per serving stored as per 100 g (a chocolate below 300 kcal, a honey or a syrup below 200);
- a dried spice comes in under 200 kcal per 100 g;
- fresh fruit or vegetables have no table on the label (it isn't required) and the figures come from a composition table, with more decimals than a label prints;
- for a product sold only in Spain, the whole table was typed per package (“1 can (88 g)”): the EU label prints per 100 g, so that table is from another edition of the package;
- the name says light or skimmed milk and the fat is a whole milk's (2.5 g or more per 100 ml);
- the package contradicts the figure: “no added sugars” with more than 20 g of sugar (except fruit, dairy, nuts and the like), “high fiber” with less than 4.5 g, “high protein” with less than 15% of energy;
- a code has several records in the USDA database: the most recently modified one rules, never the one with the newest publication date, which the USDA rewrote in bulk in November 2023;
- the code is for in-store use only or a book's (ISBN); or the name does not name a product (a single generic word, only the brand, only the package, only the flavor of a snack, or, on a meat shelf, another food with no meat); or it names two joined by “and” or “&” (“Smoked salmon and cod”), or an assortment of fish or cold cuts: the label carries one column per product and no figure is the package's.
The unit (“per can”, “per serving”) comes from the label. For food canned in liquid it is the drained weight, and if the label doesn't give it there is no per-unit figure. A drink has no serving in grams or under 100 ml (except a concentrate, a shot or a syrup), and an ounce is a fluid ounce: a “12oz” can is 355 ml, not 340 g. A “serving” that only says 100 g is the per-100 g column copied over. And the page shows no per-unit figure when the serving can't be the label's (under 10 g for meat, fish, pasta, legumes, meals, milk or yogurt; a package under 30 g for bread, pasta, cereals, legumes, meat or meals), when it is a whole jar of a condiment or an oil, which nobody eats at once, when a solid is written only in volume (cl, ml, l), or when a bag of nuts, snacks or sweets is over 2 kg.
What is judged as a drink
A drink is judged per 100 ml, with its own thresholds. Besides what is sold as a drink, that includes:
- dairy sold by volume (liquid cream, half & half, whipping cream, creamer). Judged as a solid, a 117 kcal half & half came out yes for losing fat while a 46 kcal milk came out with caveats. Evaporated or condensed milk and what is sold by weight (sour cream, whipped cream) are still solids;
- yogurts you drink (drinkable yogurt, smoothie, kefir), even in a package labelled in grams. As a solid, a drinkable yogurt with 12.3 g of sugar came out “no excess sugar”;
- fruit you drink: what the source files as fruit but whose name says it is drunk (cocktail, nectar, juice, drink) and isn't sold by weight, with no solid word (pieces, syrup, fruit salad, halves, in juice) or drained weight. A 284 ml can of passion fruit cocktail with 16 g of sugar per 100 ml came out “Maintaining: yes, no excess sugar” judged as fruit; as a drink it is no. No fruit sold in ml reaches “no excess” without going through the drink thresholds.
Thick cream is not a drink: cultured, sour or spreadable cream, or one declaring a serving of 20 g or less, is eaten by the spoon even in a tub labelled in ml.
Plain milk is a drink, but its sugar is lactose, and the WHO leaves the sugars of milk out of free sugars. A milk with no flavor, no sugar in the ingredients, no declared added sugars and not plant-based doesn't count its sugar up to 5.5 g per 100 ml (the lactose in cow's milk is 4.7–5.0 g). Above that, the sugar is added and counts. Without this exemption, every plain US milk came out no on the 12 g of sugar in its cup, and a 4.7 g semi-skimmed milk came out with caveats: rounding decided the answer.
Losing fat
Needs kcal, sugars and protein; if one is missing, there is no answer. Drinks, per 100 ml, in this order:
| Condition | Answer |
|---|---|
| sugars ≥ 5 g (plain milk: exempt up to 5.5 g) | No |
| kcal ≤ 4 | Yes (adds no calories) |
| kcal ≤ 20 | Yes |
| otherwise | With caveats (drinks don't fill) |
Solids, per 100 g, in this order:
| Condition | Answer |
|---|---|
| sugars > 22.5 g (fruit and vegetables on their own: exempt up to 22.5 g; not sweetened, candied or in syrup, nor with sugar in the ingredients, declared added sugars or a sauce or dressing) | No |
| density > 4.0 kcal/g | No |
| density ≤ 1.5 and sugars ≤ 5 g (fruit and vegetables: density only), protein share ≥ 20% and at least 5 g of protein per 100 g or per serving | Yes (protein, few calories) |
| density ≤ 1.5 and sugars ≤ 5 g (same) | Yes |
| sugars > 5 g | With caveats |
| otherwise | With caveats |
Oils, fats and condiments: a no or a with caveats stays at with caveats, because they are used by the spoon. A yes stays yes. A condiment is something used in less than 30 g (mayonnaise, ketchup, mustard, dressings, spices): a tomato, pasta or cooking sauce, or any sauce with a declared serving of 30 g or more, is judged as food. Except dressings, mayonnaise, ketchup and mustard, which are condiments whatever serving they declare: a US dressing declares two tablespoons, 30 ml, and is spooned over something else.
Building muscle
Needs kcal, protein and sugars. In this order:
| Condition | Answer |
|---|---|
| kcal ≤ 4 | No (brings nothing) |
| protein share < 12% | No |
| protein < 5 g per 100 g and < 5 g per declared serving; a milk with no declared serving is measured with the reference glass, 250 ml if sold in Spain and 240 ml otherwise | No |
| protein share < 20% | With caveats |
| sugars > 22.5 g (drinks: ≥ 8 g/100 ml; fresh fruit and vegetables don't count) | With caveats |
| protein ≥ 10 g per 100 g or ≥ 10 g per declared serving | Yes |
| otherwise | With caveats (good share, few grams) |
Energy density does not count: for building muscle, calories help.
Maintaining
Needs kcal, sugars, saturated fat and salt. It counts the excesses:
| Solids (per 100 g) | Drinks (per 100 ml) | |
|---|---|---|
| Sugars | > 22.5 g (fruit and vegetables on their own: exempt up to 22.5 g) | ≥ 5 g (plain milk: exempt up to 5.5 g) |
| Saturated fat | > 5 g | > 2.5 g |
| Salt | > 1.5 g | > 0.75 g |
In this order:
| Condition | Answer |
|---|---|
| drink with sugars ≥ 8 g (except the lactose of plain milk) | No |
| two excesses or more | No |
| one excess | With caveats |
| solid with density > 4.0 kcal/g | With caveats |
| drink with kcal ≤ 4 | Yes |
| otherwise | Yes |
Oils, fats and condiments: as for losing fat, a no or a with caveats stays at with caveats. Total fat does not count on purpose: it would put olive oil and butter on the same line; saturated fat already says what matters.
Alcoholic drinks
No answer on any goal, and their pages are not published to search. Their energy comes from alcohol, which no line on the label explains and no goal in this rule weighs.
The figure behind each answer
Every answer carries the figure that backs it: the nutrient of the reason (protein, sugars, saturated fat, salt or kcal) on the basis that justified the answer. Almost all of the rule looks at 100 g, so the figure is per 100 g or per 100 ml.
It is per serving only when the serving is what reached the line for protein (the 10 g of a yes or the 5 g minimum) and per 100 g didn't: “15.3 g of protein per tub” for a 170 g yogurt with 9 g per 100 g. A cheese with 14.3 g per 100 g gets a yes on its 100 g, and showing “4 g of protein per serving” next to it read as a contradiction. The reference glass for milk is never shown as a serving.
The thresholds and where they come from
| Threshold | Value | Source |
|---|---|---|
| Low density | ≤ 1.5 kcal/g | Rolls, energy density bands, as summarised by the CDC [1] |
| High density | > 4.0 kcal/g | Same |
| Source of protein | ≥ 12% of energy | EU Regulation 1924/2006, “source of protein” [2] |
| High protein | ≥ 20% of energy | Same, “high protein” |
| Protein in grams | ≥ 10 g per 100 g or per serving | FDA: 20% of the daily value (50 g) is “high” [3] |
| Minimum protein | ≥ 5 g per 100 g or per serving | Half of the FDA's “high” [3] |
| Low sugars | ≤ 5 g/100 g | 1924/2006, “low sugars” |
| High sugars | > 22.5 g/100 g | UK front-of-pack labelling, red [4] |
| High saturated fat | > 5 g/100 g · > 2.5 g/100 ml | Same |
| High salt | > 1.5 g/100 g · > 0.75 g/100 ml | Same |
| Drinks: medium sugar | ≥ 5 g/100 ml | UK Soft Drinks Industry Levy, first band [5] |
| Drinks: high sugar | ≥ 8 g/100 ml | Same, second band |
| Low-energy drink | ≤ 20 kcal/100 ml | 1924/2006 |
| Energy-free drink | ≤ 4 kcal/100 ml | 1924/2006 |
| Sugar in fruit and vegetables | Doesn't count up to 22.5 g when they are on their own; it does in dried, candied, sweetened, in-syrup or “high sugar”-stamped fruit, and with sugar in the ingredients or in a sauce | WHO: sugars in whole fruit and vegetables are not “free sugars” [6] |
| Lactose in plain milk | Doesn't count up to 5.5 g/100 ml | WHO: the sugars of milk are not “free sugars” [6] |
| Energy factors | 4 / 4 / 9 / 2 kcal/g | EU Regulation 1169/2011, annex XIV [7] |
- [1] CDC, Low-Energy-Dense Foods and Weight Management
- [2] Regulation (EC) No 1924/2006, annex
- [3] FDA, The Lows and Highs of Percent Daily Value
- [4] DHSC / FSA, Front of pack nutrition labelling guidance
- [5] HMRC, Soft Drinks Industry Levy
- [6] WHO, Guideline: Sugars intake for adults and children (2015)
- [7] Regulation (EU) No 1169/2011, annex XIV
What the rule can't do
- Per 100 g versus per serving. Almost all of the rule looks at 100 g, the only thing comparable across products. The serving only counts for protein, and only when it is a declared serving of 250 g or less, not the whole package. What you eat in small amounts comes out worse than it is; what you eat a lot of, better.
- Things used by the spoon (oil, butter, condiments) are handled by category, capped at with caveats; pasta and cooking sauces are not included. Nuts get no exception: they come out no for losing fat on density. A nut butter or a cocoa spread is not a fat even when the source files it as one: judged as the spread it is, a hazelnut, almond and cocoa spread comes out no on sugar and saturated fat, not “with caveats, by the spoon”. Cocoa butter is a fat.
- A ready-to-drink broth is a meal, a soup, not a vegetable. Stock cubes and concentrates are not judged.
- Drinks depend on the category being right: without it, a cola would be judged on the solid thresholds. 100 ml is treated as 100 g. Alcohol is outside the rule: no answer and not published.
- A food's own sugar versus added sugar. The label doesn't separate them. Only fruit and vegetables on their own are exempt, and only up to 22.5 g: with sugar, syrup or honey in the ingredients, with declared added sugars, or in a sauce, dressing or glaze, the sugar counts, and so it does in dried, candied or in-syrup fruit. Plain milk doesn't count its lactose up to 5.5 g per 100 ml; plain yogurt still does (it is almost always under 5 g). Cooked beans are legumes even when a database files them as vegetables.
- What is sold to be made up (instant mash, powdered mixes) is judged as sold, as a powder: a dried mash with 4.5 g of salt per 100 g comes out no for maintaining even though, made up, it has a quarter of that. The rule doesn't know how much it gets diluted.
- Building muscle looks only at protein. Carbs for training are not judged, nor is protein quality.
- Maintaining is a general balance, not a goal with numbers. It doesn't look at fiber or processing. Fiber decides nothing: it is only used to check that the label adds up.
- Sweeteners and polyols are not told apart.
- The rule knows nothing about you. That is the limit that defines it, and the reason for the “What about you?” button.
Who reviews it, and its versions
Written by the Nuvi team from the public sources cited here. No registered nutritionist has reviewed it yet.
| Version | Date | Change |
|---|---|---|
| v1 | October 6, 2026 | First rule. |
| v1.1 | October 7, 2026 | First audit round: the sugar exemption for fruit and vegetables goes up to 22.5 g and doesn't cover dried fruit; building muscle needs at least 5 g of protein per 100 g or per serving; alcoholic drinks get no answer; the “small amounts” cap is only for condiments used in less than 30 g. |
| v1.2 | October 7, 2026 | First round with US products: dairy sold by volume is judged as a drink, per 100 ml; fruit whose name says added sugar (sweetened, candied, in syrup) is not exempt; kcal per serving off the FDA rounding grid are not published. |
| v1.3 | October 8, 2026 | Second round: yogurts you drink (drinkable yogurt, smoothie, kefir) are judged as drinks and thick cream as a solid; “protein, few calories” needs at least 5 g of protein; a milk with no declared serving uses the reference glass for the protein minimum; dressings, mayonnaise, ketchup and mustard are always condiments. And pages are not published with figures from a serving of 10 g or less, with zeros the label doesn't print, with salt impossible for their category, for fresh fruit with no table, or with a book's code. |
| v1.4 | October 9, 2026 | Third round: plain milk doesn't count its lactose as sugar up to 5.5 g per 100 ml; the fruit and vegetable exemption is only for fruit or vegetables on their own, never with sugar in the ingredients, declared added sugars or in a sauce or dressing; cooked beans are legumes. |
| v1.5 | October 10, 2026 | Fourth round: each answer's figure is on the basis that justified it, per serving only when the serving reached the protein line. And pages are not published with an impossible 0 of sugars, a honey with less than 60 g of sugars, kcal and kJ that are two calculations, instant noodles with broth under 2.5 g of salt, or a name that is two products or an assortment; a solid in volume or a bag over 2 kg is not a unit. |
| v1.6 | October 11, 2026 | Fifth round: fruit you drink (cocktail, nectar, juice or drink not sold by weight) is judged as a drink, per 100 ml, and no fruit sold in ml reaches “no excess” without those thresholds; a nut butter or cocoa spread is never a fat; a ready-to-drink broth is a meal. And the salt of fresh or marinated meat above 3 g is not published; with several USDA records for the same code, the most recently modified one rules. |
Not medical advice
Nuvi is not medical advice, not nutrition advice from a licensed professional, and not a diagnosis. A verdict says whether a product fits the goal you set — nothing more.
Talk to a doctor or a registered dietitian before you use Nuvi to manage a medical condition, a food allergy, or a diet a professional has prescribed for you. Nuvi doesn't know your medical history and can't account for it.