The Pantry Notes
Internal validation · Funded by NutriShot AI

How accurate is NutriShot AI? We checked it against 412 weighed meals

No photo app is perfectly accurate. This page measures how close NutriShot gets — against 412 gram-weighed meals spanning packaged, home-cooked, restaurant, and non-Western dishes — and publishes the raw data and analysis code so every number can be checked. A manual test, not pre-registered.

NutriShot Research · Raw data & analysis code published
Manual validation · 412 meals · Published June 2026 · 9 min read

The takeaways

  • NutriShot's corrected calorie estimates achieved 90% average accuracy, within about 10% of the weighed value — roughly 60 kcal on a 600 kcal lunch. (Technical: MAPE 10.0%, 95% CI 9.0–11.0.)
  • About 7 in 10 meals (71%) came in within 10% of the weighed reference; 91% were within 20%.
  • Taking two seconds to check the portion slider before saving reduced the average error — from 11.0% to 10.0%.
  • Best on packaged and simple home-cooked food (within ~5–8%); weakest on restaurant plates and Indian and Thai dishes (~15–18% off). Full breakdown below.
  • Run and funded by NutriShot AI, not pre-registered — and, unusually for this category, every number on this page can be reproduced from the published raw dataset and analysis code.

Summary

The plain-English answer: after the in-app portion check, NutriShot's calorie estimates typically landed within about 10% of what the food actually weighed out to — close enough for everyday tracking, not a lab instrument. About 7 in 10 meals came in within 10% of the weighed value.

The technical version: in a manual validation of 412 meals spanning five food types and seven cuisines, NutriShot's photo-based estimates were compared against gram-weighed reference portions computed from USDA FoodData Central. Post-correction calorie estimates showed a mean absolute percentage error (MAPE) of 10.0% (95% CI 9.0–11.0), with 71% of meals within ±10% of reference. The study was funded by NutriShot AI and was not pre-registered; the full dataset and analysis code are linked at the end.

Methods

This was a manual validation, not a pre-registered trial. Reference values were derived from gram-weighed component masses, not from the app under test, so the comparison is against a measured ground truth.

  • Reference standard: each component weighed on a gram scale; reference calories and macros computed from USDA FoodData Central (SR Legacy entries, listed per meal in the dataset), with composite dishes built from their weighed parts.
  • Sample: 412 meals, stratified — packaged/branded (96), home-cooked single-ingredient (84), mixed plates (110), restaurant/takeout (82), and beverages (40).
  • Cuisines: seven represented — American, Italian, Mexican, Chinese, Japanese, Thai, and Indian.
  • Two estimates per meal: the raw first estimate, and the estimate after the user applied the in-app portion-correction slider.

Results

Calorie accuracy

MetricRaw estimatePost-correction
MAPE11.0%10.0%
Within ±10% of reference63%71%
Within ±20% of reference88%91%
Mean bias (over / under)+47 kcal+26 kcal
Post-correction calorie MAPE 10.0% (95% CI 9.0–11.0), median absolute percentage error 7.3%. NutriShot tends to over-estimate slightly, and portion correction reduces that bias.

Macronutrient accuracy

MacroMAPE (post-correction)Within ±10%
Protein6.7%87%
Carbohydrate5.9%85%
Fat9.5%79%
Fat was the hardest macro to estimate from a photo — consistent with where hidden oils and sauces drive error. Meals with a zero reference for a given macro are excluded from that macro's figure.

Accuracy by food category

CategoryCalorie MAPEMeals
Packaged / branded4.8%96
Home-cooked, single-ingredient7.8%84
Beverages8.1%40
Mixed plates13.2%110
Restaurant / takeout15.0%82
Accuracy is best where the food is standardised and worst where portions are ambiguous and components overlap.

Accuracy by cuisine

CuisineCalorie MAPEMeals
American7.0%207
Mexican10.2%37
Italian10.3%51
Chinese12.9%32
Japanese13.9%31
Thai16.4%25
Indian17.6%29
The clearest weakness: the four Asian cuisines averaged roughly 13–18% error versus about 7% for American dishes. Reported plainly rather than buried.

Effect of the portion-correction step

What this study does not claim

This validation measured NutriShot against weighed references only. It did not run other apps on the same meals, so it makes no head-to-head accuracy claim against competitors. A fair comparison would put each app through its own normal flow on the identical meals and publish the lot — that is a separate piece of work, not done here. For a feature-by-feature look at how the apps differ, see our comparison of the leading nutrition trackers.

Discussion

A corrected estimate within roughly 10% of the weighed truth is tight enough to be genuinely useful for day-to-day tracking, while still not precise enough to treat as a clinical instrument. The pattern of errors is unsurprising: NutriShot is strongest where the food is standardised (packaged, single-ingredient) and weakest where portions are ambiguous and components overlap (mixed plates, restaurant dishes, several Asian cuisines).

The portion-correction step reduces average calorie error by about 9% relative to the photo-only estimate. The remaining error varies by food type and cuisine.

Limitations

  • This was not pre-registered, and it was run by the app's maker. That is weaker evidence than an independent, pre-registered study — read the numbers with that in mind, and check them against the raw data.
  • Capture conditions (device, lighting, who photographed each meal) were not recorded in the dataset, so their effect on accuracy cannot be assessed.
  • Whoever collected the meals knew they were being measured, which may encourage more careful framing than typical real-world use.
  • Beverages were under-sampled (n = 40) relative to how often people log them.
  • The USDA reference itself carries error for mixed and restaurant dishes where exact recipes are unknown.
  • Heavily occluded, layered, or novel dishes remain the hardest cases and are likely under-represented at the extremes.

Data availability

  • Raw dataset — all 412 meals, weighed component masses, USDA reference values, and both NutriShot estimates: nutrishot-validation-meals.csv.
  • Analysis code — the script that reproduces every figure and table on this page: analyze-validation.py.
  • The dataset is released under CC BY 4.0 — reuse it, cite the source.
  • Not pre-registered: this was a manual test, so there is no pre-registration to link. The published raw data is what makes the result checkable.

Disclosure. The meals were collected and the NutriShot estimates recorded by the team that builds NutriShot, and the study was funded by NutriShot AI. It was not pre-registered. Every calorie and macro figure on this page is computed directly from the raw dataset using the published analysis script, so anyone can reproduce them. A funder-run, non-pre-registered validation is weaker evidence than an independent one — we publish the raw data precisely so the numbers can be checked rather than taken on trust. Accuracy figures describe the meals in this sample and are not a guarantee for any individual meal, nor a substitute for clinical dietary assessment. See our editorial principles.