How accurate are AI calorie counters from photos?
Photo logging turns a food diary into something you can do in a few seconds. The question is how close the number on the screen is to what you actually ate.
In peer-reviewed tests published in 2025, the stronger general-purpose AI models missed the calories in a meal photo by about 30–36% on average. Protein, fat, and carbs were usually further off, at roughly 40–70%. Consumer apps varied even more.
That doesn't make photo logging useless. It does tell you which parts of an estimate to trust and which to fix before you save.
What the studies measured
Most of these papers report mean absolute percentage error (MAPE): how far each estimate landed from the true value, ignoring whether it was high or low. A MAPE of 30% on a 600-calorie meal means a typical miss of about 180 calories.
Model and study | Test set | Calories | Protein | Fat | Carbs |
|---|---|---|---|---|---|
ChatGPT-5 (Rodríguez-Jiménez et al., 2025) | 195 dishes, photo only | 30.5% | 42.6% | 52.9% | 42.0% |
ChatGPT-4o (Fridolfsson et al., 2025) | 52 meal photos | 35.8% | 60.7% | 51.8% | 47.9% |
Claude 3.5 Sonnet (Fridolfsson et al., 2025) | 52 meal photos | 35.8% | 61.7% | 41.7% | 72.8% |
Gemini 1.5 Pro (Fridolfsson et al., 2025) | 52 meal photos | 64.2% | 109.9% | 89.6% | 66.1% |
These are general-purpose models rather than calorie apps, and the two papers used different meals, so this isn't a ranking. Newer models will change the numbers. In every row, though, the calorie error is smaller than the macro errors.
A good average can hide a bad meal
A 2024 study by Li and colleagues tested AI food image recognition inside consumer apps. Among the apps that gave automatic calorie estimates, the average difference from the true value ran from 47% too low to 44% too high.
One app averaged only 3% below the true value, which sounds excellent. The same app overestimated bibimbap by 270%. The authors concluded that automatic energy estimates from food image recognition were inaccurate.
Keep that in mind when you see an accuracy claim. An average that lets high and low misses cancel out can look far better than the error on any one meal.
Where the error comes from
- Portion size. A flat image has no reliable scale. In a study of 114 meal photos, ChatGPT underestimated the weight of the food in 87 of them (76%). Fridolfsson and colleagues found that all three models underestimated, and that the gap grew with portion size. Your biggest meals may be the ones with the largest misses.
- Mixed dishes. Li and colleagues reported larger errors for mixed dishes, where foods sit on top of each other and can't be counted one by one.
- What can't be seen. A tablespoon of oil is about 120 calories, and a photo doesn't show how much went into the pan. The same goes for butter, sugar, and dressing mixed through a dish. The studies above didn't isolate this effect, so treat it as reasoning rather than a measured result.
Telling the model more helps a lot
The ChatGPT-5 study is the most practical one here, because it tested the same dishes with different amounts of information.
Input | Average calorie miss | MAPE |
|---|---|---|
Photo only | 123 calories | 30.5% |
Photo plus a written description | 92 calories | 24.4% |
Photo plus an ingredient list | 53 calories | 13.9% |
Ingredient list, no photo | 67 calories | 18.1% |
In that study, the ingredient list alone beat the photo alone. It's a single study, but the direction makes sense: the more you tell the model, the less it has to guess.
Is manual entry more accurate?
Not automatically. Li and colleagues also looked at 16 apps that use manual food logging, comparing their three-day results with a reference food record.
- On a Western meal plan, 14 of the 16 ran high, by about 250 calories on average.
- On an Asian meal plan, 13 of the 16 ran low, by about 360 calories on average.
- On a recommended-diet meal plan, all 16 ran low, by about 225 calories on average.
Searching a database and picking an entry has its own error, and the app's food data matters. On top of that, people tend to under-report what they eat no matter how they log it.
How to get a better number from a photo
- Check the portion first. It's a known weak spot, and estimates tend to run low as portions grow, so adjust it before anything else on large meals.
- Add what the camera missed. Cooking oil, butter, dressing, and sugar in a drink are the usual gaps.
- Use a barcode for packaged food. A label isn't perfect, but it usually lands much closer than a photo estimate.
- Log what you know. If you made the dish yourself, what went into it beats anything a model can infer from a picture.
- Read the week, not the meal. One rough estimate says little. Weekly averages alongside your weight trend say more. Just remember that large meals may read low.
Where CaRoot fits
CaRoot's AI scan estimates the foods, calories, protein, fat, and carbs in a meal photo, and you can review and edit the result before saving. If you correct a dish, CaRoot keeps that correction and uses it the next time the same dish comes up. Packaged foods can go through the barcode scan instead, which looks up product data rather than estimating from an image.
None of the studies above tested CaRoot, and the limits they describe apply to any photo estimate, ours included. A photo can't show the oil in the pan. The best way to treat the number is as a quick first draft that you can correct.
Sources
- Rodríguez-Jiménez M, et al. Image-based dietary energy and macronutrients estimation with ChatGPT-5: cross-source evaluation across escalating context scenarios. Nutrients, 2025. https://doi.org/10.3390/nu17223613
- Fridolfsson J, et al. Performance evaluation of 3 large language models for nutritional content estimation from food images. Current Developments in Nutrition, 2025. https://doi.org/10.1016/j.cdnut.2025.107556
- O'Hara C, et al. An evaluation of ChatGPT for nutrient content estimation from meal photographs. Nutrients, 2025. https://doi.org/10.3390/nu17040607
- Li X, et al. Evaluating the quality and comparative validity of manual food logging and artificial intelligence-enabled food image recognition in apps for nutrition care. Nutrients, 2024. https://doi.org/10.3390/nu16152573
This article is general nutrition information, not medical advice. Calorie and macro figures from any app are estimates. If you manage a condition such as diabetes, don't rely on a photo estimate for treatment decisions, and talk to your doctor or a registered dietitian.
CaRoot logs a meal from a photo,
so tracking stays quick.
