AI calorie trackers are good for quick estimates but not precise: in recent studies, calorie estimates from a single meal photo were off by roughly 30 to 36% on average, and they tended to underestimate large portions and fatty food. They get much closer when you add what the camera cannot see, such as the cooking oil, the ingredients and the amounts.
That makes them a reasonable tool for everyday tracking, as long as you treat each number as a first draft and correct it when it looks wrong. Here is what the research shows, where the errors come from, and how to get better results.
How accurate are AI calorie trackers, according to research?
The evidence has grown quickly since general AI models learned to read photos. The main studies:
| Study | What was tested | Main finding on calories |
|---|---|---|
| Shonkoff et al., 2023 (systematic review) | 52 studies of AI image methods, 2010 to 2023 | Average calorie errors ranged from 0.10% to 38.3% across studies, and were smaller for photos of a single food |
| Fridolfsson et al., 2025 | ChatGPT-4o, Claude 3.5 Sonnet and Gemini 1.5 Pro on 52 standard meal photos | Average energy error of 35.8% for ChatGPT and Claude, 64.2% for Gemini; underestimation grew with portion size |
| O’Hara et al., 2025 | ChatGPT-4 on 114 photos of weighed meals | Identified foods with 93% precision, but underestimated weight in 76.3% of photos and agreed poorly on medium and large meals |
| Rodriguez-Jimenez et al., 2025 | ChatGPT-5 on 195 dishes | Photo alone: 30.5% average error (123 kcal per dish); photo plus ingredient list with quantities: 13.9% (53 kcal) |
| NIH study, NUTRITION 2026 (preliminary) | Photo features of MyFitnessPal, Lose It!, Cal AI and Appediet on 102 weighed meals | All four underestimated calories by about 250 to 345 kcal per meal and fat by about 30 g |
Two patterns stand out. Recognising the food is the easy part; estimating how much of it is on the plate is hard. And the errors are not random: most tools lean towards underestimating, which matters if you are trying to stay in a calorie deficit.
Is Cal AI accurate?
The most direct evidence comes from researchers at the US National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK), presented at the NUTRITION 2026 conference in July 2026. They photographed 102 meals prepared in a metabolic kitchen, with every ingredient weighed to 0.1 g, and ran the photos through four apps.
As reported by Healio on 4 August 2026, the average calorie underestimation per meal was:
| App | Average underestimation per meal (95% CI) |
|---|---|
| Appediet | 252 kcal (210 to 295) |
| MyFitnessPal | 327 kcal (269 to 385) |
| Lose It! | 333 kcal (282 to 383) |
| Cal AI | 345 kcal (296 to 392) |
To be fair to all four apps: the figures for MyFitnessPal, Lose It! and Cal AI overlap closely, Appediet came out somewhat lower, and every app missed by a few hundred calories. The meals came from a US research diet study, not Indian food. And the results come from a conference abstract that, as the American Society for Nutrition notes, has not been through full peer review and should be treated as preliminary.
The advice from one of the researchers, Dr Aaron Hengist, applies to every photo app, including ours: people who use a photo-based app “without adjusting the portions or entering the amounts of food should take the results with a grain of salt.” We are not aware of an independent published test of Calo AI, and the same limits apply to its photo scans. For a feature comparison, see Calo AI vs Cal AI.
Where do AI calorie errors come from?
Portion size. A photo is flat, so the AI has to guess depth and weight. In Fridolfsson et al., errors were smaller for small portions and grew as portions got bigger. In one example, ChatGPT estimated a large lentil curry at 255 g when it weighed 480 g. Every nutrient estimate after that was too low.
Hidden fat. Oil, ghee, butter and cream disappear into food. The NIH study found all four apps underestimated fat by about 30 g per meal. In Fridolfsson et al., fat estimates were off by 51.8% for ChatGPT and 41.7% for Claude on average.
Mixed and overlapping foods. Shonkoff et al. found errors were lower for single foods than for images with several foods. Curries, stir-fries and layered dishes make it hard to see what is inside.
No direct database lookup. O’Hara et al. point out that a general chatbot does not read food composition tables directly; it predicts a likely answer. Protein estimates were especially weak in Fridolfsson et al., off by about 61% for both ChatGPT and Claude.
Why are Indian meals harder for AI?
None of the studies above focused on Indian home cooking, so there is little direct data. But Indian meals combine every known difficulty:
- Gravies and dals hide the oil. A tadka or a spoon of ghee stirred in is invisible in a photo.
- Thalis have many components. Several katoris, rice, rotis and pickle on one plate is the “multiple foods” case that raises errors.
- Portions vary widely. A katori can be anything from about 115 ml to 360 ml, and the camera cannot tell which one you used.
- Same name, different dish. “Dal” can be thin moong dal or rich dal makhani with very different calories.
Our guide on how to count calories in Indian food covers katori sizes and the oil problem in detail.
How can I get more accurate results from a photo calorie tracker?
The research points to a few habits that help:
- Describe the dish and the cooking fat. In the ChatGPT-5 study, adding details such as the type and amount of fat cut the average error from 123 to 92 kcal per dish, and a full ingredient list with quantities cut it to 53 kcal. Something like “home-style rajma, about 1 tablespoon oil for 4 servings” helps a lot.
- Put something of known size in the frame. The researchers who got the results above placed a standard fork and knife next to the plate. A spoon or your usual katori gives the AI something to scale against.
- Photograph before mixing, from a slight angle. Keep rice, dal and sabzi separate if you can, so each one is visible.
- Check the portion and correct it. If the app says 150 g of rice and you know your plate holds more, fix it. In Calo AI you can correct any scan by voice or text, and describing the dish improves the estimate.
- Log extra oil separately when you know a dish was rich, especially restaurant food.
- Weigh your usual servings once. It takes a few minutes and makes it easy to spot a bad estimate.
You can try this with our free photo calorie calculator.
Is AI more accurate than counting calories yourself?
Not always, but people are not very accurate either. The Shonkoff review concluded that AI methods align with, and may exceed, human estimation, citing earlier work where human estimates ranged from 30% under to 1% over. Fridolfsson et al. found ChatGPT and Claude reached accuracy comparable to traditional self-reported methods.
Self-reporting can also go badly wrong. In a classic 1992 study, people who believed they could not lose weight on a low-calorie diet underreported what they ate by an average of 47% (Lichtman et al.). The gap was in the logging, not their metabolism.
So the honest answer is that every method gives an estimate. What matters most is logging consistently, correcting obvious mistakes and checking your numbers against your weight trend over a few weeks. If you use a general chatbot for this, read can you track calories with ChatGPT first.
Practical takeaway
- Expect errors of around a third on a raw photo estimate, usually on the low side.
- The biggest misses are portion size and hidden fat, both common in Indian meals.
- Adding a short description and the cooking oil is the single most effective fix.
- Correct portions you know are wrong, and weigh your regular servings once to calibrate.
- Judge the system by your weight trend. If you are not losing weight at your logged intake, assume you are eating more than the app shows and adjust.