AI estimates portion size by sizing the food in your photo against things of known size, like the plate, bowl or fork, and against the typical servings it learned from training images. It's useful but not precise: in a 2025 test, the best general AI models missed food weight by about 36% on average, and they underestimated big portions most.
You can close much of that gap. Telling the app what the camera can't see (the oil, the weight, the size of the drink) improves the numbers more than any camera trick.
Key takeaways
- Portion size is a dominant source of AI calorie error. A flat photo has no reliable height or density information.
- Typical error is large: about 36-37% for weight and energy with ChatGPT-4o and Claude 3.5 Sonnet on standardized photos.
- Big portions get underestimated more than small ones, and hidden fat is easy to miss or misjudge.
- Context helps. Adding a short description or ingredient amounts made ChatGPT-5's calorie estimates more accurate in a 2025 study.
- Best photo: directly overhead, whole plate in frame, layered foods spread out, good light.
How AI turns a flat photo into grams
A food photo gives the model width and length but no direct measure of depth. To get from pixels to calories, a portion estimate usually goes through five steps:
- Find each food. The model outlines the rice, the chicken and the salad separately.
- Look for a ruler. Plates, bowls, cutlery and hands come in fairly predictable sizes, so they act as scale references. One research system mimics how dietitians work, gauging food against learned reference volumes like a teaspoon, a golf ball or a cup.
- Guess the height. Depth is inferred from shading, shape and angle. Datasets such as Nutrition5k pair dish photos with depth images and measured weights so models can learn this.
- Apply portion priors. The model knows what a typical serving of pasta or a chicken breast looks like, and leans on that when the image is ambiguous.
- Convert to calories. Estimated volume becomes grams using the food's typical density, then grams become calories and macros.
Every step adds uncertainty, and the errors multiply. A good food match with a poor height guess still gives a poor calorie number. For a wider look at the recognition side, see how AI food recognition works.
How accurate is AI portion estimation?
Published tests vary a lot in setup, so compare them by what they measured.
| Study | What was tested | Main result |
|---|---|---|
| Fridolfsson et al., 2025 (Current Developments in Nutrition) | ChatGPT-4o, Claude 3.5 Sonnet and Gemini 1.5 Pro on 52 standardized photos in 3 portion sizes | Weight error about 36-37% for ChatGPT and Claude; 64-110% error range for Gemini across nutrients; all underestimated, more so for big portions |
| Isobe et al., 2026 (Nutrients) | 10 AI models vs 10 dietitians on 15 hospital meals shot overhead in bright light Dietitians and the top models both reached r > 0.8 for calories, often within 10%; every model overestimated fat by more than 20% | |
| Rodriguez-Jimenez et al., 2025 (Nutrients) | ChatGPT-5 on 195 dishes with more or less context | Accuracy improved step by step from photo only, to photo plus description, to photo plus ingredient amounts |
| Nakagawa and Yamamoto, 2026 (Nutrients) | 6 vision-language models on 2,159 Japanese and US meal photos | Portion size was a dominant source of error, and prompt wording shifted portion estimates up or down |
The Fridolfsson authors called general AI models comparable to self-reported food records, but not precise enough where exact numbers matter, such as clinical care or athletes. Our deeper review of how accurate AI calorie counting is covers the identification side.
Where AI portion estimates go wrong
Large portions. In the Fridolfsson study, the bigger the serving, the more the models underestimated it. A heaped restaurant plate is the hardest case.
Stacked and layered food. A burger with two patties and one with three look much the same from above. So do a short and a tall stack of pancakes. Lasagna and casseroles hide their layers entirely.
Liquids. Soup, curry and drinks fill a container to a depth the camera can't measure. Nutrify's own scanning tips say it plainly: the AI can't measure liquid depth, so give the size ("12 oz juice", "large iced latte").
Hidden fat. Oil, butter and dressing add a lot of calories and leave little to see. AI can miss them, or overcorrect: the 2026 hospital-meal study found every model overestimated fat.
| Hidden ingredient | Amount | Calories | Fat (g) |
|---|---|---|---|
| Olive oil | 1 tbsp (13.5 g) | 119 | 13.5 |
| Olive oil | 1 tsp (4.5 g) | 40 | 4.5 |
| Butter | 1 tbsp (14.2 g) | 102 | 11.5 |
| Heavy cream | 1 tbsp (15 g) | 51 | 5.4 |
Values from USDA FoodData Central (FDC 171413, 173410, 170859).
Why a 20% portion error matters
Say you eat 150 g of cooked chicken breast and the estimate comes back as 120 g. At USDA's 165 calories per 100 g, that's 248 calories logged as 198: 50 calories missed at one meal. Add a tablespoon of cooking oil that never made it into the log and the gap is about 170 calories.
Do that most days and it can erase a modest calorie deficit. Small, repeated misses matter more than the occasional big one, which is why it pays to check your most common meals. Our guide to measuring calories at home shows how to weigh a meal once and reuse the numbers, and the calorie deficit calculator shows how much room for error your target has.
How to photograph food for better portion estimates
The first four are the tips Nutrify shows in its scan tutorial:
- Shoot from directly above. A bird's-eye view lets the AI measure the plate and the food on the same scale.
- Fit everything in the frame. Keep the plate or bowl fully visible, edges included, with nothing cut off.
- Make every item visible. Open the burger, unfold the wrap, remove lids and foil. For combo meals, scan each item separately.
- Use bright, even light and a plain background, and hold the phone steady.
- Photograph before you eat. If you don't finish, adjust the amount afterward.
More photo habits are in getting the best results from AI food recognition and our photo food diary guide.
Fix the estimate after the scan
The camera sees the food. You know the recipe. In Nutrify you can correct a portion in a few seconds:
- Add context before or after the photo. Type or say details like "cooked in 1 tbsp olive oil" or "about 200 g". The AI Refine option takes notes such as "I ate about 200g" or "It was fried".
- Edit the quantity or portion. Calories and macros scale with it automatically.
- Add or delete ingredients so the sauce, dressing or side you actually ate is counted.
- Spot-check with a scale. Weigh a meal you eat often, compare it with the estimate, and you'll know whether to nudge future entries up or down.
Nutrify comes with a 7-day free trial, then a paid subscription.
Sources
- Fridolfsson J, et al. Performance evaluation of 3 large language models for nutritional content estimation from food images. Curr Dev Nutr, 2025.
- Isobe T, et al. Accuracy of AI-based nutrient estimation from standardized hospital meal images. Nutrients, 2026.
- Rodriguez-Jimenez M, et al. Image-based dietary energy and macronutrients estimation with ChatGPT-5. Nutrients, 2025.
- Nakagawa S, Yamamoto A. A Japanese-dietitian prompt systematically shifts portion estimates in LLM-based nutrient estimation. Nutrients, 2026.
- Yang Z, et al. Human-mimetic estimation of food volume from a single-view RGB image using an AI system. Electronics, 2021.
- Thames Q, et al. Nutrition5k: towards automatic nutritional understanding of generic food. CVPR, 2021.
- USDA FoodData Central: chicken breast, roasted, FDC 171477; olive oil, FDC 171413; butter, salted, FDC 173410; heavy whipping cream, FDC 170859.
- Nutrify on the App Store (listing read 2026-10-26).
