Photo logging

AI Calorie Counters: How Photo Estimates Work and What to Check

An AI calorie counter prices what it sees in a photo, and the portion is the weak link. In one 2025 test its average error fell from 123 kcal to 53 kcal once ingredient grams were added.

Key takeaways

  • In a 2025 test of 195 dishes, ChatGPT-5's average energy error fell from 123.03 kcal with a photo alone to 53.33 kcal when ingredient amounts were added.
  • In the Nutrition5k study, a model predicted calories per gram with 9.5% error, but total calories from a photo with 26.1% error.
  • Photo-based tests report average energy errors of about 24% to 36%, and models underestimate more as the portion grows.
  • A chicken salad is 216 kcal as photographed and 460 to 589 kcal with dressing and cheddar, and the camera cannot see the dressing.

A calorie counter AI turns a photo, a typed line or a spoken sentence into foods, grams and calories. The photo is the weak link. In a 2025 test, ChatGPT-5 missed the energy of 195 dishes by an average of 123 kcal from the photo alone. Add ingredient amounts and the miss fell to 53 kcal. Let an AI calorie tracker write the quick first pass, then give it your grams to finish the job.

What is an AI calorie counter, and how does it turn a photo into calories?

Whether an app sells itself as a calorie counter AI or an AI calorie tracker, a vision model usually looks at the picture. The calories themselves should come from a food database, not from the model’s memory of what a burrito weighs.

A 2022 systematic review of 78 image-based food-recognition studies found the same stages in most systems. They separate the foods on the plate and name each one. Then they estimate volume, calories or nutrients. I count five jobs in the process. Find each food. Name it. Work out what is in it, such as oil, sugar or sauce. Estimate how much there is. Then look it up in a database and multiply.

The first two jobs are what the pictures in app ads show. The last is plain arithmetic. The trouble sits in the middle. Google’s Nutrition5k study puts numbers on it. Its model predicted calories per gram with a mean error of 9.5%. Asked for total calories from the same kind of picture, with no weight given, the error rose to 26.1%. Adding a volume estimate from depth-sensor images brought it back down to 16.5%. Naming the food turns out to be the simple part, and the portion is where the error comes from.

People aren’t better at it. In the same paper, 16 non-nutritionists missed the weight of a plate by 53% on average, and 4 nutritionists missed by 41%. The ten plates were simple: six held one plain ingredient, four held three.

If the app calls your rice couscous, you see it and tap to swap it. If it picks 150 g when you ate 250, nothing looks off. So read the suggested grams before the calories.

Who does the arithmetic: the model or a database?

That design choice matters most, and apps rarely say which one they made. In one design, the model looks at the photo and writes a calorie number itself. In the other, the model only names the foods and suggests grams, and a database turns those into calories.

The second design leaves a step you can check by hand. Say you log a plate in one line. It holds chicken breast 120 g, cooked white rice 200 g, olive oil 13.5 g and raw broccoli 100 g. Each line is grams times the record’s energy per 100 g.

Ingredient Grams kcal per 100 g Energy Record
Chicken breast, braised 120 166 199 kcal FDC 331960
White rice, cooked 200 130 260 kcal FDC 168878
Olive oil 13.5 884 119 kcal FDC 171413
Broccoli, raw 100 32 32 kcal FDC 321900
Total 433.5 610 kcal

Skip the oil and the plate reads 491 kcal. That is 119 kcal missing, about a fifth, and no vision model can see a tablespoon of oil soaked into rice. When an app shows you this table, you can fix one gram value and every calorie follows. When it shows only a total, you can’t tell where the number came from, or which gram to fix.

The Nutrition5k split fits this design. Calories per gram, which is a lookup, was the easy part at 9.5% error. Total calories, which needed the portion too, was the hard part at 26.1%. The ChatGPT-5 test fits as well, because its errors fell as the input moved from a picture toward grams.

Watch out for confidence scores. A 2024 study of language and vision-language models found them overconfident most of the time when they state their own uncertainty. A badge that says “92% sure” is decoration unless the app explains how it measured that. I’d rather see an entry marked as an estimate until I confirm the grams than a number that looks sure of itself.

So ask any app where a number comes from. If the reply points to a food record and your grams, you can check it. If it only says “our AI”, there is nothing to check.

How accurate are AI calorie estimates from a photo?

These numbers are fine for an ordinary Tuesday and not fine for a day when the total has to be right. I lined up four recent tests. They use different models, dishes and error measures, so don’t compare rows against each other. Read them as a spread. A separate piece on how close AI food tracker photo estimates get goes through a 2026 NIH test of four photo apps.

First, the measures. They aren’t interchangeable. Mean absolute error is in kcal and tells you the typical miss. Percentage error divides the miss by the true value, so a small snack takes the same miss much harder than a big dinner. A third kind of score counts how often an estimate lands inside a set margin. If an app advertises one score, ask which kind it is.

Test Setup Result
Fridolfsson et al., 2025 52 standardized photos, three models about 36% average energy error for the two better models, 64.2% to 109.9% for the third
ACETADA, 2025 806 weighed meal photos, 152 adults, GPT-4o 165.8 kcal average energy error (24.5%) and 33.4% on portion size
Isobe et al., 2026 15 hospital meals, 10 AI models and 10 registered dietitians energy “frequently within ±10%” for the best models, but fat overestimated by more than 20%
Rodriguez-Jimenez et al., 2025 195 dishes, ChatGPT-5, photo only 123 kcal average energy error

The ACETADA meals were cooked, served and weighed in a controlled feeding study in Perth, Australia, so that 24.5% isn’t only an American result. The first study found a pattern worth knowing. All three models underestimated more as the portion grew, with bias slopes from -0.23 to -0.50. A small bowl looks about right. A heaped plate reads light.

In the hospital study, fat went the other way. All ten models overshot it, which the authors call an “invisible nutrient” bias. Fat carries 9 kcal per gram, more than anything else on the plate, and the camera can’t see it.

What does an average error mean over a day? Take a lunch that truly holds 700 kcal. A 24.5% error is 171 kcal, about one and a half tablespoons of olive oil. Some meals will come out high and some low, and those errors partly cancel. A bias, like the underestimate on big portions, doesn’t cancel. It piles up across the week.

These studies come with caveats. They tested general models, not any one app, and apps add their own databases and checks. Many used standardized photos, far easier than a dinner shot under a kitchen light at seven in the evening. Models also change, so a result from 2025 may not hold in 2027.

In these tests photo estimates miss the true energy by roughly a quarter to a third, in both directions. For a lunch you’d otherwise skip logging, that’s a fair trade. For a food you eat every day, use the scale once. A barcode sidesteps the photo problem but not the database behind it, and the best food scanner app piece weighs that trade. The NHS food scanner app shows the other extreme: it rates a scanned product high, medium or low in sugar, salt and fat, and its NHS page describes no food diary or portion sizes. More on photo logging is on one page.

What does a photo miss, and what do grams add?

A photo misses whatever the cook decided. Take a chicken salad. I priced the pieces from USDA records and added the things a camera can’t see.

Part of the bowl Amount Energy Record
Chicken breast, braised 120 g 199 kcal same record as above
Romaine lettuce 100 g 17 kcal FDC 327923
Ranch dressing, one serving 30 g 129 kcal FDC 173592
Ranch dressing, two servings 60 g 258 kcal same record, 430 kcal per 100 g
Cheddar, one slice 28 g 115 kcal FDC 170899

The visible part, chicken and lettuce, comes to 216 kcal. Add one serving of dressing and a slice of cheddar and the bowl is 460 kcal. Pour two servings of dressing and it’s 589. The three bowls look almost the same. A model sees a salad and picks a number in that range, and you can’t tell which end it picked.

Typing beats the camera here. In the ChatGPT-5 test, the average energy error fell from 123.03 kcal with the photo alone to 92.04 kcal when standard descriptions were added. It fell to 53.33 kcal with an ingredient list that included amounts. Remove the photo and keep only the list, and the error went back up to 66.51 kcal. The best input was both: the picture plus your grams.

The authors also noted that the biggest outliers came from dishes served in bowls, where depth is hard to see. Soup, stew, cereal and rice bowls are the weakest photo cases.

Your bowl isn’t the app’s bowl, either. USDA’s cup of cooked white rice weighs 158 g, which is 205 kcal. If your usual bowl holds 250 g, it’s 325 kcal. An app that assumes the cup undercounts it by 120 kcal every time you eat rice. Weigh your bowl once and it can’t be wrong about that again.

Mixed dishes hide the most: stews, curries, pasta bakes, burritos, sandwiches. The model sees the surface, and you know the recipe. For dishes you cook often, build the recipe once from its ingredients and reuse it, instead of asking a camera to guess it every time.

Speech adds one more step. Your phone turns your voice into text before the app reads it. In a 2024 study, roughly 1% of audio transcriptions from OpenAI’s Whisper, as it stood in 2023, held entire phrases that nobody said. That’s rare. Still, “200 g” and “20 g” differ by a zero, so read the transcript before you save it.

When you photograph a meal, add what only you know: the oil you cooked in, the dressing you poured, any weight you measured.

Is there a free AI calorie counter, and what should you check?

Some apps offer AI scans at no charge, usually with limits, and a free AI calorie counter is worth a trial week. I’d read the listing for three things before putting months of history into it:

  1. How many AI scans or messages you get, and whether the limit is daily or monthly.
  2. How long your history stays, and whether you can export it.
  3. Whether the numbers show a source, so you can check one yourself.

Do the arithmetic on the cap. Three meals and a snack is four scans a day, or 120 in a 30-day month. A cap of 30 a month runs out in the first week.

A scan costs the app money. A free app earns it back with a cap, an upgrade or your data, so check the privacy summary on the store page.

The cheapest test is also the best one. Log one day with the AI, then weigh the same day’s food. If the totals sit within about a fifth of each other, the free tier is doing its job. If they don’t, you’ve learned that for the price of one evening.

How should you use an AI calorie tracker day to day?

Treat it as a draft you correct. Start with the photo, or type the meal in one line with grams. Read the foods and the suggested grams before the calories. Fix the biggest item first, because oil, rice, pasta, meat or cheese usually carry the most. Then add the invisible parts as their own lines, such as dressing, butter or cooking oil, and save.

Weigh your top ten foods one time: cooked rice, pasta, oats, bread, chicken, cheese, nuts, peanut butter, oil and milk are good candidates. After that, the app’s suggestions for those foods can be checked at a glance, and your eye gets better for the rest, because you now know what your usual rice portion looks like on your own plate. That shrinks the portion error without a scale at every meal.

If you cook the same dinners every week, save each one as a recipe once. Then logging takes a tap, and the grams were checked at home, where the scale sits next to the stove and checking costs you nothing. Re-check once a month, or when you change brands or bowls. A portion that drifts by 20% is a bias, and a bias is the one error that doesn’t average out.

One boundary. If a health condition changes what you can eat, a doctor or a registered dietitian interprets the numbers, not an app.

Calsa names the foods in your photo and suggests grams for you to confirm, and it logs oil or dressing as its own entry.

Questions and answers

How accurate is an AI calorie tracker?

They are close for a rough day and loose for a precise one. In a 2025 test on 52 photos, the better models averaged about 36% error on energy, and an ACETADA test of 806 meal photos found 24.5% for GPT-4o. Errors shrink when you add ingredient grams.

Is there a free AI calorie tracker?

Some apps offer AI scans at no charge, usually with a limit on scans or messages. Before you rely on one, check the limit, how long your history is kept, whether you can export it, and whether each number shows its source.

Can an AI calorie counter handle soup, stew or a salad?

Badly, because the camera can't see what's under the surface or in the dressing. In one test, the largest errors came from dishes served in bowls. A chicken salad is 216 kcal as photographed and 589 kcal with two servings of ranch dressing and a slice of cheddar.

Do I still need to weigh my food with an AI calorie tracker?

Weigh the foods you eat most often once, not every meal. Portion size is the hard part: the Nutrition5k model had 9.5% error per gram but 26.1% on total calories. Once you know what your usual portions weigh, you can check the app's suggestions at a glance.

Sources

  1. Rodriguez-Jimenez M, et al. Image-Based Dietary Energy and Macronutrients Estimation with ChatGPT-5: Cross-Source Evaluation Across Escalating Context Scenarios. Nutrients 2025, Nutrients
  2. Dalakleidi KV, et al. Applying Image-Based Food-Recognition Systems on Dietary Assessment: A Systematic Review. Adv Nutr 2022, Advances in Nutrition
  3. Thames Q, et al. Nutrition5k: Towards Automatic Nutritional Understanding of Generic Food. CVPR 2021, arXiv
  4. Fridolfsson J, et al. Performance Evaluation of 3 Large Language Models for Nutritional Content Estimation from Food Images. Curr Dev Nutr 2025, Current Developments in Nutrition
  5. Coburn B, et al. Comprehensive Evaluation of Large Multimodal Models for Nutrition Analysis: A New Benchmark Enriched with Contextual Metadata (ACETADA). arXiv 2507.07048, v2 October 2025, arXiv
  6. Isobe T, et al. Accuracy of AI-Based Nutrient Estimation from Standardized Hospital Meal Images: A Comparison with Registered Dietitians. Nutrients 2026, Nutrients
  7. Rice, white, long-grain, regular, enriched, cooked (SR Legacy, FDC ID 168878), USDA FoodData Central
  8. Oil, olive, salad or cooking (SR Legacy, FDC ID 171413), USDA FoodData Central
  9. Broccoli, raw (Foundation, FDC ID 321900), USDA FoodData Central
  10. Chicken, broiler or fryers, breast, skinless, boneless, meat only, cooked, braised (Foundation, FDC ID 331960), USDA FoodData Central
  11. Lettuce, cos or romaine, raw (Foundation, FDC ID 327923), USDA FoodData Central
  12. Salad dressing, ranch dressing, regular (SR Legacy, FDC ID 173592), USDA FoodData Central
  13. Cheese, cheddar, sharp, sliced (SR Legacy, FDC ID 170899), USDA FoodData Central
  14. Groot T, Valdenegro-Toro M. Overconfidence is Key: Verbalized Uncertainty Evaluation in Large Language and Vision-Language Models. arXiv 2405.02917, 2024, arXiv
  15. Koenecke A, et al. Careless Whisper: Speech-to-Text Hallucination Harms. FAccT 2024 (arXiv 2402.08021, v2 May 2024), arXiv

About the author

Daniel Reyes

Writer, Calsa blog

Daniel writes about the math behind food tracking: how calculators reach their numbers, what macros measure and how a photo becomes an estimate.

All articles by Daniel

Put the numbers to work.

The guides show where each number comes from. In Calsa you log a meal by photo, voice or barcode, check the grams, and every calorie shows its source.

Log my first meal
A snack board of hummus, carrot and cucumber sticks, crackers, cheese, grapes and walnutsCalsa entry details: 71 kcal per 100 g times 250 g, with USDA as the source