Why Calorie Apps Give Different Numbers for the Same Food.
Two apps can show different calories for the same lunch because they have selected different products, different portions or different versions of a food's nutrition record. Before deciding which app is wrong, compare the food name, the amount logged and the nutrition panel on the pack.
Last reviewed: 4 October 2026
One Tesco sandwich in six calorie apps
On 4 October 2026, we compared selected Tesco Chicken Club entries in YAZIO, Nutracheck, MyFitnessPal, MyNetDiary, Cronometer and NutraSafe with Tesco’s current product page. The app screens showed 504–508 kcal. Tesco listed 506 kcal per pack.
That is a small spread. The more useful differences were the portion information, the way carbohydrates were labelled and the ingredient detail available in NutraSafe. Here are the figures and the screens, so you can see what each observation supports.
We make NutraSafe. This is one product across six selected entries, searched by name on the founder’s phone and captured as screenshots. We did not scan the barcode in any app or photograph the physical pack. It is an observation, not an independent accuracy ranking.
| App | Displayed portion | kcal | kcal difference | Protein | Carbs* | Fat |
|---|---|---|---|---|---|---|
| YAZIO | 1 Package (250 g) | 507 | +1 | 30 | 56.7 | 17 |
| Nutracheck | 1 Pack (weight not shown) | 508 | +2 | 29.9 | 56.5 | 16.9 |
| NutraSafe | Per pack (249.2 g) | 506 | 0 | 29.9 | 56.6 | 16.9 |
| MyFitnessPal | 1 pack (weight not shown) | 504 | -2 | 30.6 | 61.8 | 16.2 |
| MyNetDiary | 1 pack (Weight: N/A) | 506 | 0 | 30 | 57 (US-style total) | 17 |
| Cronometer | 1 Pack (as sold), 249g | 507.9 | +1.9 | 29.9 | 56.5 (Net Carbs) | 16.9 |
| Tesco website | Each pack, as sold | 506 | Reference | 29.9 | 56.5 | 16.9 |
*MyNetDiary’s “T. Carbs” includes fibre: 53g carbohydrate + 4g fibre = 57g total. MyFitnessPal’s 61.8g sits beside 5.6g of fibre on the same entry. UK label carbohydrate excludes fibre. Cronometer explicitly says “Net Carbs”; net-carb calculations can also subtract sugar alcohols. See the explanation below before comparing these columns. Portions remain unverified.
NutraSafe and MyNetDiary matched Tesco’s displayed energy value. Every selected entry was within 2 kcal of it, or less than 0.4%. That does not establish which app is most accurate across a weekly shop. Tesco’s website is a retailer reference, and recipes can change: the current pack is the next check.
The entries we actually saw
Every screen is shown in full, as it appeared on the phone. Tap one to read it at full size. Cronometer’s shows the founder’s own energy target and NutraSafe’s shows his reaction reminder.
YAZIO

Nutracheck

MyFitnessPal

MyNetDiary

Cronometer

NutraSafe

Carbohydrate: UK labels leave fibre out, US labels count it in
MyNetDiary’s 57g “T. Carbs” uses the US-style total carbohydrate convention, which includes fibre. A UK pack’s “carbohydrate” figure excludes fibre. The two headings describe different totals, so comparing them directly can make an entry look further from the pack than it is.
UK label: carbohydrate excludes fibre
Fibre is listed separately. UK carbohydrate includes polyols (sugar alcohols), so it is not automatically identical to an app’s “net carbs”. UK label definitions.
US label: total carbohydrate includes fibre
The FDA’s total carbohydrate explanation includes fibre. MyNetDiary’s guide uses that total and subtracts fibre and sugar alcohols to calculate net carbs.
In the MyNetDiary entry, the nutrient table shows 53g carbohydrate and 4g fibre. Together they make the macro summary’s 57g total. That explains the 4g difference between its two displays; it is a change of definition, not evidence of an arithmetic error.
There is still a separate product-record comparison to make: its fibre-excluded 53g is 3.5g below Tesco’s online 56.5g. One reading is that the entry began with Tesco’s 56.5g, which already leaves fibre out, and took the 4g off a second time. We have not established that; matching the current barcode, recipe and portion would be needed. The US convention does not account for all differences between the selected entries.
MyFitnessPal shows 61.8g carbs, 5.3g above Tesco’s UK figure. The same entry lists 5.6g of dietary fibre, and 61.8g less 5.6g is 56.2g, so it reads as carbohydrate with the fibre added in. It is a member-submitted entry, and we have not established how the figure was arrived at. Cronometer explicitly shows 56.5g Net Carbs. Nutracheck shows 56.5g carbs, NutraSafe 56.6g and YAZIO 56.7g. Keep each app’s label with the number when comparing them. Do not subtract fibre again from the carbohydrate figure on a UK label.
Portions need checking too. YAZIO shows 250g, Cronometer 249g and NutraSafe 249.2g. Nutracheck and MyFitnessPal show “pack” without a weight, and MyNetDiary says Weight: N/A. The screenshots alone cannot establish the cause of every numerical difference.
What NutraSafe adds to the calorie figure
If you only want to log this sandwich’s calories, all six selected entries give a similar number. NutraSafe also lets you inspect the ingredients behind it. These complete screenshots show how that information appears alongside the calories.
The product overview brings together macros, the app’s processing and additive assessments, palm oil, saturated fat and salt indicators, and a reminder based on previously logged reactions. The “What’s in this food” page shows the additive summary, allergen and sensitivity flags, and the stored ingredient list. The separate “What’s added” page names the ingredients, their codes and the app’s descriptions.
For example, the two triphosphates listed inside the bacon appear under the E451 group. The bread’s long emulsifier name appears as DATEM, E472e. You can open a named entry for more detail instead of searching each unfamiliar term separately.
Named additive detail is a NutraSafe Pro feature; the free scanner shows the additive count. We have not checked every ingredient page or feature in the other five apps.
The product overview

Allergens, sensitivities and ingredients

The additive breakdown

The risk descriptions, processing classification and sensitivity flags shown here are the app’s classifications. This single-product comparison does not independently validate them or measure the amount of any additive in a pack.
What those six additive codes refer to
We checked the names and codes against the Food Standards Agency’s E-number list. The roles below follow Tesco’s ingredient declaration for this sandwich.
| Code | Name or group | Declared role |
|---|---|---|
| E250 | Sodium nitrite | Preservative in the bacon |
| E451 | Triphosphates | Stabilisers in the bacon |
| E471 | Mono- and diglycerides of fatty acids | Emulsifier |
| E472e | DATEM | Emulsifier |
| E300 | Ascorbic acid | Flour treatment agent |
| E301 | Sodium ascorbate | Antioxidant in the bacon |
The app’s list has a seventh entry for yeast extract, an additional ingredient shown separately from those six E-number groups. “Seven things added” is therefore not a count of seven distinct E-number additives. E451 itself groups two named triphosphates in the recipe.
An E-number identifies an additive; the function tells you why it is used. The FSA’s explanation of food additives describes roles including preserving food, reducing oxidation and helping ingredients mix. Our E-number library gives you somewhere to read further.
These names do not tell us how much of each additive is in a pack. EFSA’s explanation of dietary exposure uses both concentration in food and the quantity eaten. This case checks the displayed ingredients and nutrition figures; it does not validate the app’s health classifications or measure anyone’s exposure.
Vitamins and minerals on other foods
NutraSafe Pro also shows vitamins and minerals for foods that aren’t classed as ultra-processed, where suitable nutrition data is available. That can add figures such as iron, calcium and vitamin C alongside the calories and macros.
We don’t estimate vitamin and mineral amounts from ingredient lists for foods classed as ultra-processed. Amounts declared on a product’s nutrition label can still be shown. A missing figure means we don’t have a value to display; it doesn’t mean the food contains none.
See how NutraSafe’s vitamin and mineral tracking works, including the free and Pro split. This is a separate feature explanation; the sandwich screenshots above do not demonstrate a vitamin and mineral panel.
Extra nutrients and account access
Nutracheck’s nutrient screen shows 6.7g saturated fat, 5g sugars, 4g fibre and 1.69g salt. NutraSafe’s nutrition strip shows the same first three numbers. Tesco lists 1.70g salt; the 0.01g numerical difference in Nutracheck is small, and does not establish a recipe mismatch.
YAZIO’s nutrient screen shows Pro locks beside further nutrients, including fibre and sugars. That was a free account. Nutracheck, MyFitnessPal and Cronometer were on free accounts too, MyNetDiary was used with no account at all, and NutraSafe was on Pro, so these screens are not a like-for-like comparison of free plans. Our UK calorie counter comparison sets out what each app gives away and what it charges for.
What the latest research can tell us
A July 2026 study published in Nutrition and Health evaluated 17 nutrition apps available in Türkiye. It compared nutritional calculations from 13 apps against standardised three-day food records; ten overestimated energy intake. The researchers noted substantial variation and the limits of using standardised menus.
That is evidence that apps can disagree with a reference calculation. It does not establish which app currently scans UK supermarket products most reliably. These findings do not establish NutraSafe’s accuracy on current UK products. They should not become a claim that one app is always accurate or always inaccurate.
How to use this comparison for your own shop
Start with the pack you are holding. Match the product and barcode, then compare calories on the same basis: per 100g, per pack or the amount you actually eat. Check whether the record describes the food as sold, prepared or drained. A correct nutrition record can still give the wrong diary total if the portion is wrong.
Try five packaged foods you regularly buy. Photograph their nutrition panels, record whether each barcode is found, and keep a search fallback separate from a successful scan. Note your account tier and whether you can enter the portion you need. This tests agreement with your packs, not laboratory composition or every food in the database.
For this case, we searched each app by name on one iPhone on 4 October 2026, opened its Tesco Chicken Club entry and checked it against Tesco’s online page the same day. We did not scan the barcode in any app, so a barcode match is not established. App versions: MyFitnessPal 26.39.0, Nutracheck 13.4.0, YAZIO 26.39.2, Cronometer 4.59.1 and NutraSafe 2.2; MyNetDiary does not show its version. The other five apps were on free accounts and NutraSafe was on Pro. We did not photograph the pack’s own nutrition panel, and the sample is one sandwich.
You can download the comparison figures and method as JSON. It contains the displayed values, the Tesco reference and the limitations, without personal account information. A broader set of products and confirmed matching portions would be needed before drawing conclusions about overall accuracy.
We make NutraSafe and selected this example to show its ingredient detail alongside calorie logging. It is a founder-led comparison, and the screenshots show particular entries at a particular time.
Last updated: 4 October 2026


