How to Check an AI Calorie Estimate in 3 Steps

By Remembite team · Published · Updated

To check a calorie number your AI gave you, run three checks. Multiply the USDA value per 100 g by your grams and compare. Add 4 x protein, 4 x carbs and 9 x fat and see whether the sum is near the calories. Then ask what the AI assumed about portion, cooking state and fat. A gap on any check is a reason to ask. Agreement does not prove a number right.

Key takeaways

  • Check 1: USDA kcal per 100 g x grams / 100 gives a reference for your amount. Use the entry for the same cooking state.
  • Check 2: protein and carbs carry about 4 kcal per gram and fat about 9. The macro sum should land near the stated calories.
  • The sum misses alcohol (7 kcal/g) and treats fiber and sugar alcohols loosely. Those are known reasons a correct number fails it.
  • Check 3: ask for grams, raw or cooked, cooking fat and a line-by-line item list. Most wrong answers hide in an assumption.
  • All three checks can pass on a wrong portion. They find numbers that look off, not numbers that are right.
Three checks for an AI calorie answer in order
The three checks in order. Diagram by Remembite.

Short answer: three checks, and what each can prove

  1. Check 1, the reference value, catches a raw value used for a cooked food, or a wrong food.
  2. Check 2, the macro sum, catches a calorie or macro figure estimated separately from the rest.
  3. Check 3, the assumptions, covers amount, unit, cooking fat and items counted twice.

If checks 1 and 2 pass and the AI guessed 200 g for a plate that held 300 g, the answer is 33% low and nothing on the page shows it. For study evidence on AI error size, see can ChatGPT or Claude track calories. For prompts that give better answers, see how to count calories with ChatGPT.

Check 1: multiply the USDA value by your grams

USDA FoodData Central (FDC) is the US government's food composition database. Each entry lists nutrients per 100 g. Search for the food with its cooking state, open the entry and read the Energy row in kcal. Roasted chicken breast (FDC 171477) reads 165 kcal, marked as calculated. The entries in this post are SR Legacy, which FDC describes as a "final release April 2018". Newer or branded products may differ.

Worked example: three foods in one meal, from FDC values per 100 g.

  1. Chicken breast, roasted, 150 g (FDC 171477): 150 x 165 / 100 = 247.5 kcal
  2. White rice, cooked, 200 g (FDC 168878): 200 x 130 / 100 = 260 kcal
  3. Two large boiled eggs (FDC 173424). FDC lists one large egg at 50 g, so 100 g: 100 x 155 / 100 = 155 kcal
  4. Reference total: 247.5 + 260 + 155 = 662.5 kcal

An answer of 650 kcal is within 2% of this. An answer of 1,100 is worth a question: where did the extra 437 come from?

Two habits make check 1 work. Match the state: raw white rice is 365 kcal per 100 g (FDC 168877) and cooked is 130, a factor of 2.8. The raw vs cooked guide explains the weight change. Convert the unit first: in FDC, a cup of cooked white rice weighs 158 g and a cup of cooked oats 234 g. The cups to grams guide has more.

How close is close? A USDA value is typical, not a measurement of your plate. A rule of thumb for a reader: within about 10 to 15% of the reference, or 50 kcal, is normal, and much more is worth a question. It is a reading habit, not a standard, and not any product's setting.

Check 2: do the macros add up to the calories?

Many calorie figures are computed from protein, carbohydrate and fat using energy factors. The general factors are 4 kcal per gram of protein, 4 of carbohydrate and 9 of fat. The label rule at 21 CFR 101.9(c)(1)(i) lists the allowed ways to compute label calories. Method (B) is the general 4, 4 and 9 from USDA Handbook No. 74. Method (A) uses the specific Atwater factors in table 13 of the same handbook. A stated calorie number and its macros are linked by arithmetic. When they disagree by a lot, one of them is wrong.

Worked example: 100 g of cooked white rice, FDC 168878: protein 2.69 g, carbs 28.17 g, fat 0.28 g.

  1. Protein: 4 x 2.69 = 10.76 kcal
  2. Carbs: 4 x 28.17 = 112.68 kcal
  3. Fat: 9 x 0.28 = 2.52 kcal
  4. Sum: 10.76 + 112.68 + 2.52 = 125.96 kcal

USDA lists 130 kcal. The gap is 4 kcal, or 3.1%, which is normal for the general factors.

Why the gap is small but not zero

USDA does not use 4-4-9 for every food. The SR Legacy download has a calorie conversion factor table with food-specific values for protein, fat and carbohydrate. For a boiled egg (FDC 173424) they are 4.36, 9.02 and 3.68, and for cooked white rice 3.82, 8.37 and 4.16. With the egg's own factors, 100 g gives 12.58 x 4.36 + 10.61 x 9.02 + 1.12 x 3.68 = 154.67 kcal, which rounds to USDA's 155. The general factors give 150.3, a gap of 3.0%.

An AI answer will almost never match the sum to the calorie. A gap of a few percent is expected; look for one far larger. Calories above the sum are fine only when something explains them, such as alcohol; with no such ingredient, ask. Calories well below the sum usually mean a number was estimated separately. Use the same tolerance as in check 1: on a 400 kcal meal, 50 to 60 kcal; on a 100 kcal snack, the 50 kcal floor.

When the sum should not match, and the answer is still right

Ingredient typeEffect on the 4-4-9 sumWhat to do
AlcoholAdds 7 kcal per gram that protein, carbs and fat do not hold. The sum under-adds.Add 7 x grams of alcohol.
FiberSits inside carbohydrate but supplies fewer than 4 kcal per gram. The sum over-adds.Judge the gap in kcal, not percent.
Sugar alcoholsListed in carbohydrate but worth 0 to 3 kcal per gram. The sum over-adds.Subtract them from carbs and add their own factor.
Label roundingPrinted calories round to the nearest 5 up to 50 and the nearest 10 above.Allow a few kcal either way.

Alcohol: 7 kcal per gram

A U.S. Army article states: "One gram of alcohol contains seven calories." The US standard drink holds about 14 g of pure alcohol, per the National Institute on Alcohol Abuse and Alcoholism: 12 fl oz of regular beer, 5 fl oz of table wine or 1.5 fl oz of spirits. USDA agrees: vodka at 80 proof (FDC 174818) has 33.4 g of alcohol and 231 kcal per 100 g, with no protein, carbs or fat. 33.4 x 7 = 233.8, within 1.2%.

Worked example: one 12 fl oz can of regular beer. Per 100 g, FDC 168746 lists 43 kcal, 0.46 g protein, 3.55 g carbs, no fat and 3.9 g alcohol. The can is 356 g, so multiply by 3.56.

  1. Protein and carbs: 3.56 x (4 x 0.46 + 4 x 3.55) = 57.1 kcal
  2. Alcohol: 3.56 x 3.9 = 13.9 g, and 13.9 x 7 = 97.2 kcal
  3. With alcohol: 57.1 + 97.2 = 154.3 kcal. USDA for the can: 3.56 x 43 = 153.1 kcal

The 4-4-9 sum alone is 63% below the real value, so it would call a correct answer wrong.

Calories from alcohol that 4-4-9 leaves out in one drink
Most or all of the calories in a beer, a glass of red wine and a shot of vodka come from alcohol. Portions: 356 g, 147 g and 42 g. Source: USDA FoodData Central (FDC 168746, 173190, 174818), Remembite arithmetic.

For a drink, or a recipe with wine or spirits, add the alcohol term first and ask the AI for alcohol grams.

Fiber, sugar alcohols and rounding

Carbohydrate "by difference" includes fiber, which is largely undigested. The label rule allows 4, 4 and 9 with carbohydrate counted "less the amount of non-digestible carbohydrates and sugar alcohols", and 2 kcal per gram for soluble non-digestible carbohydrate. Boiled broccoli (FDC 169967) shows the effect. Per 100 g it has 35 kcal, 2.38 g protein, 7.18 g carbs (3.3 g fiber) and 0.41 g fat. The plain sum is 9.52 + 28.72 + 3.69 = 41.9 kcal, 6.9 kcal or 19.8% above USDA. In percent that looks alarming, but it is under the 50 kcal floor.

Sugar alcohols have their own factors in 21 CFR 101.9(c)(1)(i)(F), from erythritol at 0 and mannitol at 1.6 to maltitol at 2.1, xylitol at 2.4 and sorbitol at 2.6 kcal per gram. A bar with 12 g of maltitol in its carbs over-adds by 12 x (4 - 2.1) = 22.8 kcal.

The same section rounds label calories "to the nearest 5-calorie increment up to and including 50 calories, and 10-calorie increment above 50", with factors applied "to the actual amount (i.e., before rounding)". A printed 130 kcal can sit a few kcal either side.

Check 3: what did the AI assume?

An AI turns "a bowl of rice" into grams, a state and a fat amount. You do not see that unless you ask. Ask for a line-by-line list: for each item, grams, raw or cooked, how it was cooked, fat or sauce added, and where the per-100 g value came from. A list also exposes an item counted twice, which no arithmetic check finds.

AssumptionWhat goes wrongSize of the miss
Raw or cookedThe dry value is applied to cooked food, or the reverse.White rice: 365 vs 130 kcal per 100 g, a factor of 2.8.
UnitA per-100 g figure is used for "1 cup".Cooked oats: 71 per 100 g, but a cup is 234 g, so 71 x 2.34 = 166 kcal.
Cooking fatOil or butter in the pan is left out.1 tbsp olive oil is 13.5 g, so 884 x 0.135 = 119 kcal.
Double countA dish and its parts both appear in the total.The total is off by the whole dish.

Once you know the assumption, correct it in plain words ("150 g cooked, no oil") and ask for the numbers again. Then repeat checks 1 and 2.

Sanity ranges: calories per 100 g for 12 foods

A reference list spots an impossible number without a lookup. We opened each USDA entry and recomputed the 4-4-9 sum.

Food (state)FDC idkcal per 100 gP / C / F gSum 4-4-9
Egg, boiled17342415512.6 / 1.1 / 10.6150
Chicken breast, roasted17147716531.0 / 0 / 3.6156
Salmon, farmed, cooked17516820622.1 / 0 / 12.4200
White rice, cooked1688781302.7 / 28.2 / 0.3126
Oats, cooked with water173905712.5 / 12.0 / 1.572
Pasta, cooked, enriched1697371585.8 / 30.9 / 0.9155
Lentils, boiled1724211169.0 / 20.1 / 0.4120
Broccoli, boiled169967352.4 / 7.2 / 0.442
Olive oil1714138840 / 0 / 100900
Butter, salted1734107170.9 / 0.1 / 81.1734
Banana, raw173944891.1 / 22.8 / 0.399
Cheddar cheese17341440322.9 / 3.4 / 33.3405
Calories per 100 g for twelve common foods from USDA
Energy per 100 g spans a factor of 25, from broccoli at 35 kcal to olive oil at 884. FDC ids are in the table. Source: USDA FoodData Central, SR Legacy, as of 2026-10-16.

Read the table in three bands. Vegetables and cooked starches sit at 35 to 160 kcal per 100 g, cooked meat and fish at 155 to 210, cheese, butter and oil at 400 to 890. An AI that says 400 kcal per 100 g for cooked rice is more than three times the 130 above, so it used the dry value or erred. One that says 150 for olive oil has dropped most of the fat.

Ten of the twelve sums land within 5.5% of the USDA energy. The outliers are broccoli (+19.8%, 6.9 kcal) and banana (+10.9%, 9.7 kcal), both foods where a few kcal look large in percent. Raw chicken, fried egg and brown rice have other numbers. The table works best for a number off by half or more, not one off by 10%.

These answers are invented to show the pattern. No AI said them.

Invented: "150 g cooked white rice: 548 kcal, 11 g protein, 120 g carbs, 1 g fat." The macro sum is 44 + 480 + 9 = 533 kcal, within 3% of 548, so check 2 passes. The calories are raw rice: 150 x 365 / 100 = 547.5. Check 1 gives 150 x 130 / 100 = 195 kcal, so the answer is 2.8 times too high.

Invented: "1 cup cooked oatmeal: 71 kcal, 2.5 g protein, 12 g carbs, 1.5 g fat." These are per-100 g values and the sum is 71.5, so check 2 passes. A cup of cooked oats is 234 g, so the right figure is 71 x 2.34 = 166 kcal. That is 57% too low. Check 1 catches it once you convert the cup to grams.

Invented: "150 g pan-fried chicken breast: 248 kcal, 46.5 g protein, 0 g carbs, 5.4 g fat." Plain roasted breast is 150 x 165 / 100 = 247.5 and the sum is 186 + 48.6 = 234.6. Both pass, but the pan-frying is missing. If one tablespoon of olive oil (119 kcal) stays on the food, the meal is near 367 kcal. How much stays is unknown, so ask for a fat amount.

Invented: "150 g cooked Atlantic salmon: 310 kcal, 33 g protein, 0 g carbs, 5 g fat." Check 1 passes: 150 x 206 / 100 = 309 kcal. Check 2 does not: 4 x 33 + 9 x 5 = 177 kcal, 133 below the stated 310 (43%). USDA fat for 150 g is 18.5 g, so the fat figure is wrong.

Invented list: "Chicken 150 g: 248. Rice 150 g: 195. Chicken rice bowl: 443. Total: 886." Each line passes check 1. The total's macros (101 g protein, 84.5 g carbs, 11.7 g fat) sum to 847 kcal, within 4.4% of 886, so check 2 passes. The third line repeats the first two, and the true total is 248 + 195 = 443 kcal.

AnswerCheck 1Check 2Check 3
1. Raw riceFlagsPassesFlags
2. Cup as 100 gFlags after unit conversionPassesFlags
3. Missing oilPassesPassesFlags
4. Bad macrosPassesFlagsPasses
5. Double countPasses per linePassesFlags
Stated calories against macro sum for five example answers
The macro sum is close to the stated calories for four of the five invented answers and 43% short for one. Source: Remembite arithmetic on invented answers, USDA FoodData Central values.

In this invented set, check 2 flags one answer in five, check 1 two and check 3 four. That is a property of the examples, not a measured rate. The sum check sees only internal disagreement.

A spreadsheet version of checks 1 and 2

If you log with an AI daily, put the arithmetic in a sheet: one row per food, the AI's numbers in the input columns. We recomputed the example rows by hand and did not run them in a spreadsheet app, so check them on your own sheet.

ColumnHoldsFormula in row 2
A to GFood, grams, stated kcal, protein g, carbs g, fat g, alcohol g (blank if none)Inputs from the AI
HMacro sum kcal=4*D2+4*E2+9*F2+7*G2
IGap kcal=C2-H2
JGap share of stated=IF(C2=0,"",ABS(I2)/C2)
KCheck 2 flag=IF(ABS(I2)>MAX(0.15*C2,50),"ask","ok")
LUSDA kcal per 100 gInput from FDC
MReference kcal=B2*L2/100
NCheck 1 flag=IF(ABS(C2-M2)>MAX(0.15*M2,50),"ask","ok")

The flags say ask when the gap exceeds 15% of the number or 50 kcal, whichever is larger. That is the rule of thumb from above. For a conditional format on A2:N500, use the custom formula =$K2="ask" and a fill color, then a second rule for =$N2="ask".

Test rows, computed by hand:

  • Salmon, 150 g, stated 310, protein 33, carbs 0, fat 5: H is 177, J is 0.43 and K says "ask". M is 309, so N says "ok".
  • Beer, one can, stated 153, protein 1.6, carbs 12.6, fat 0, alcohol 13.9: H is 154.1 and K says "ok". Leave G blank and H falls to 56.8, so K says "ask".

Where the checks stop working

  • A matching sum can still be wrong. A wrong food or amount, computed correctly, passes checks 1 and 2, as in answers 3 and 5.
  • A USDA value is an average. FDC lists cheddar (FDC 173414) at 22.87 g protein per 100 g from 39 data points, ranging from 22.54 to 24.25. That spread covers the sampled cheddar only.
  • Portion is the weak link. In a 2025 evaluation of ChatGPT-5 on 195 dishes, image-only estimates had a mean absolute percentage error of 30.51% for energy and 42.58%, 41.95% and 52.88% for protein, carbohydrate and lipids. With an ingredient list with quantities, the energy error fell to 13.92% (Rodriguez-Jimenez et al., Nutrients, 2025).
  • Averages hide item error. In a 2023 study of 222 food items, chatbot averages for energy did not differ significantly from nutritionists', yet only 39.2 to 46.8% of item estimates fell within 10% of the reference and 57.7 to 61.3% within 20% (Hoang et al., JAMA Network Open, 2023).
  • Mixed dishes and restaurant food have no single USDA record, and the oil, sauce and weight are unknown.

For error in counting generally, see how big the error is in calorie counts. The checks narrow an estimate. They do not make it exact.

What Remembite does with these checks

Before it saves a meal, Remembite compares each food it can confidently match to a USDA-based reference, and checks the protein, carbs and fat against the calories. It looks for macros that add up to more than the calories. It does not question calories above the macro sum, since alcohol and fiber can explain that, so answer 4 above is one you catch yourself. When a number is far off, Remembite does not save it. It sends a question back to your AI, which asks you to confirm or fix it.

A food it cannot match is saved as your AI sent it, with only the macro check. Each food in the dashboard carries a label: "Checked against USDA", "AI estimate" or "You confirmed". Remembite stores the numbers your AI sent and does not replace them. Check 3 stays with you and your AI. The step is a prompt to look twice, not a guarantee.

Free to start. Any paid plan will be announced here before it begins. The Claude connector is open to anyone with a Remembite account. Remembite also works in ChatGPT (beta, via developer mode). Remembite is not affiliated with Anthropic or OpenAI. See the labels on the sample dashboard, or create a free account. The methodology page has more on the step.

FAQ

Is the calorie count ChatGPT gives me correct?

It is an estimate. In the 2023 study above, 39.2 to 46.8% of estimates fell within 10% of the reference. Run the three checks and treat the result as a range.

How big a gap is normal?

A few percent, because USDA uses food-specific factors and labels round. A reader's rule of thumb is within about 10 to 15% or 50 kcal.

Why does my drink fail the macro sum?

Alcohol has about 7 kcal per gram and is not in protein, carbs or fat. A 12 fl oz beer sums to 57 kcal without it and 154 kcal with it.

If all three checks pass, is the number right?

No. The checks catch numbers that are inconsistent or look off. A wrong food or a wrong amount can pass all of them.

Estimates, not medical advice. How the numbers work.

Start your own record

Create a free account with your email, then add Remembite to Claude. Want to look first? Watch Claude log a sample day, no account needed.

Get started free See Claude log a day