Blog

How many calories off is a calorie tracker? 330 to 579

Three doubly labeled water studies put logged intake 330 to 579 calories a day under measured expenditure. The food database was off by 26.

Om Divyatej, founder of MealSaid

On this page
  1. How many calories a day is the gap, really?
  2. Is it the app's database, or is it you?
  3. Why does a 12.8% average still ruin a week?
  4. Are the numbers on the menu any better?
  5. Do photo apps fix any of this?
  6. What do you do with a 330 calorie error?
  7. How I checked this

A calorie tracker's food database is off by about 26 calories a day. What you tell it is off by 330 to 579. Every published measurement I could open says the same thing: the numbers in the app are close, and the gap between what you log and what you actually eat is the whole problem.

I went looking for this because people keep asking me whether a bigger food database would make MealSaid more accurate. The honest answer is no, and the research is not subtle about it. Checked 23 October 2026. Every figure below links to the paper it came from.

Bar chart of calories a day between logged intake and measured expenditure: 579 for an image based food record, 543 for a 24 hour recall, 330 for a photo recognition app, and 26 for an app database against a reference database
Bar chart of calories a day between logged intake and measured expenditure: 579 for an image based food record, 543 for a 24 hour recall, 330 for a photo recognition app, and 26 for an app database against a reference database

How many calories a day is the gap, really?

Between 330 and 579 calories a day, in the three studies that measured real energy expenditure rather than asking people a second time.

Doubly labeled water is the reference method. You drink isotope-labeled water, researchers track how fast the labels leave your body, and that gives total energy expenditure without anyone reporting anything. In weight-stable people it is the closest thing to a true intake number.

Boushey and colleagues dosed 45 adults, had them photograph every eating occasion for 7.5 days, and had trained analysts estimate the calories. Measured expenditure averaged 2,932 calories a day. Reported intake averaged 2,353, "a resulting difference of 579 kcal/day" (Nutrients 2017).

Serra and colleagues ran 30 women through seven days of doubly labeled water in Zurich while they logged with SNAQ, a food-recognition app. The gap was 330 calories a day, or 12.8% low. A one-day 24 hour recall in the same 30 women was 543 calories low, 22.9% (Frontiers in Nutrition 2023).

Foster and colleagues checked Intake24, an online recall tool, against doubly labeled water in 98 UK adults aged 40 to 65. People under-reported by 25% on a first recall and 25% again on the average of three (Journal of Nutritional Science 2019).

Study What was compared n Mean gap 95% limits or spread
Boushey 2017 Photographed food record vs doubly labeled water 45 adults, 7.5 days 579 kcal/day under 53% underreported, by 1,000 kcal/day
Serra 2023 Food-recognition app vs doubly labeled water 30 women, 7 days 330 kcal/day under (12.8%) 1,504 under to 845 over
Serra 2023 One 24 hour recall vs doubly labeled water 30 women, 1 day 543 kcal/day under (22.9%) 1,803 under to 717 over
Foster 2019 Intake24 recall vs doubly labeled water 98 adults 25% under 73% under to 68% over
Evenepoel 2020 MyFitnessPal vs the Nubel reference database 50 adults, 4 day records 26 kcal/day over Not significant, p = .26
Urban 2011 Restaurant menu calories vs bomb calorimetry 269 items, 42 restaurants 10 kcal/portion over 50 items at least 100 kcal over
Urban 2010 Low-calorie restaurant and frozen meals vs calorimetry 29 restaurant foods, 10 frozen meals 18% and 8% over stated One item 200% of stated
NIDDK 2026 Four photo apps vs meals weighed to 0.1 g 102 meals 250 to 345 kcal/meal under Abstract, not peer reviewed

Is it the app's database, or is it you?

It is you, by roughly thirteen to one. The database gap is 26 calories a day and the reporting gap is 330.

Evenepoel and colleagues took 50 people's four-day food records and ran them through MyFitnessPal and through Nubel, the Belgian national food composition database. Energy came out at 1,984 calories a day in MyFitnessPal against 1,958 in Nubel, with a correlation of 0.96 (JMIR 2020).

That is a 26 calorie difference, my own subtraction on their Table 1. Put it next to the 330 calorie gap Serra measured and the database accounts for about 8% of the problem.

The same paper found the database is not uniformly fine. Sodium came out at 1,293 mg a day against the reference 2,638, cholesterol at 55 mg against 242, and fiber at 15 g against 19 (Table 1). If you track sodium, that matters a lot; if you track calories, it does not.

Why does a 12.8% average still ruin a week?

Because the average is not the error you get. Serra's 95% limits of agreement ran from 1,504 calories under to 845 calories over (Table 3).

A Bland-Altman limit of agreement says where 95% of individual measurements fall. For the photo app, a given woman's day could plausibly be 1,504 calories low or 845 calories high, and the midpoint of 330 describes nobody in particular.

Dot and range chart showing the mean gap and 95 percent limits of agreement against doubly labeled water: the photo app at 330 calories low with a range from 1,504 under to 845 over, and the 24 hour recall at 543 low with a range from 1,803 under to 717 over
Dot and range chart showing the mean gap and 95 percent limits of agreement against doubly labeled water: the photo app at 330 calories low with a range from 1,504 under to 845 over, and the 24 hour recall at 543 low with a range from 1,803 under to 717 over

Foster's numbers say the same thing in percentages. The point estimate was 25% under, and the limits ran from 73% under to 68% over (Foster 2019).

73% under to 68% overthe 95% limits of agreement for one online recall against doubly labeled water, n = 98Foster et al., 2019

Boushey put the same thing in people rather than intervals. Of the 45 adults, 53% were classified as underreporters, and that group was off by a mean of 1,000 calories a day (Boushey 2017).

Are the numbers on the menu any better?

On average yes, per item no. Of 269 restaurant foods burned in a calorimeter, 50 held at least 100 calories more than the menu claimed (Urban 2011).

Urban and colleagues bought food from 42 randomly selected quick-serve and sit-down restaurants in three US states and measured the energy by bomb calorimetry (JAMA 2011). The overall gap was 10 calories a portion, nowhere near significant.

Then the detail: 108 items (40%) were at least 10 calories over the stated value, 141 (52%) were at least 10 calories under, 20 were within 10 either way, and 50 (19%) were at least 100 calories over (JAMA 2011). One side dish was over by 1,000 calories.

Stacked bar splitting 269 restaurant items by how far measured calories fell from the menu value: 141 at least 10 under, 20 within 10, 58 from 10 to 99 over, and 50 at least 100 over
Stacked bar splitting 269 restaurant items by how far measured calories fell from the menu value: 141 at least 10 under, 20 within 10, 58 from 10 to 99 over, and 50 at least 100 over

Their earlier paper picked the lowest-calorie items on each menu. Those 29 restaurant foods measured 18% above the stated value, and 10 supermarket frozen meals measured 8% above (J Am Diet Assoc 2010).

Packaged food has a legal tolerance, and it is wide. A food is misbranded only if the composite is "greater than 20 percent in excess of the value" declared (21 CFR 101.9(g)(5)). The same rule calls reasonable deficiencies acceptable, so there is no stated floor at all.

20%how far above its stated calories a US packaged food may legally sit before it counts as misbranded21 CFR 101.9(g)(5)

Do photo apps fix any of this?

No. The one controlled test I can find had four of them 250 to 345 calories low per meal (NIDDK, 2026).

Researchers at the NIDDK prepared 102 meals in a metabolic kitchen, weighed every ingredient to 0.1 g, photographed them, and ran the photos through MyFitnessPal, Lose It!, Cal AI and Appediet. The apps came in 250 to 345 calories under per meal and about 30 g under on fat (American Society for Nutrition, July 2026).

It is a conference abstract, so treat it as preliminary. I pulled the per-app breakdown apart in the Cal AI accuracy post, where the worst performer was also the best rated.

What do you do with a 330 calorie error?

Use the tracker as a consistent ruler, not as a scale. Set your target from your own logged average and your weight trend, and stop comparing it to a formula.

If you log 1,800 and the truth is 2,100, and you lose weight on that, then 1,800 in your app is your maintenance minus a deficit. The absolute number never needed to be right. What has to be stable is how you log, which is why the spread in those limits of agreement matters more than the bias.

Four things that actually shrink the gap, each one from a study above:

  1. Log the meal as you eat it. Foster's single recall was 25% under, and a recall is what you do when you log at bedtime.
  2. Log the forgotten things first. Boushey's underreporters missed 1,000 calories a day, and the items people photographed outside their provided meals were sugar sweetened beverages, coffee, tea and alcohol.
  3. Distrust the menu before you distrust the app. The calorimeter found 50 of 269 restaurant items over by 100 calories or more.
  4. Keep one logging habit rather than one accurate day. The limits of agreement are wide, so your average over a fortnight carries more information than any single total.

MealSaid is my attempt at the first of those. You say what you ate, it writes calories and macros to Apple Health, and it calls your phone at times you pick if you have not logged.

It has no barcode scanner, no photo logging, no food database to search and no Android build. It is English only and needs iOS 26. None of the portion-estimation problem above goes away, because you are still the one guessing how much rice was on the plate.

If you want a curated database and a long micronutrient list, Cronometer does that better than anything I have built. Why people stop logging at all is a separate problem, covered in the dropout research post.

How I checked this

Checked 23 October 2026. I read each paper at PubMed Central and took the numbers from the results text or the tables, not from abstracts alone or from secondary coverage. Sample sizes: 45, 30, 98 and 50 adults for the four validation studies, and 269 food items from 42 restaurants for the calorimetry work.

The 26 calorie database gap and the 13 to 1 ratio are my arithmetic on Evenepoel's Table 1 and Serra's Table 5, not figures either paper prints. The NIDDK meal study is a NUTRITION 2026 conference abstract and has not been peer reviewed, so it sits apart from the rest.

What I could not verify: any controlled comparison of two consumer calorie apps against the same weighed meals with the database held constant, which is the test that would settle the database question properly. The eCFR site refuses scripted fetches, so the regulation link goes to the Cornell copy of 21 CFR 101.9. Corrections to ohmbrock42@gmail.com.

Questions

How many calories off is a calorie tracker?

The database is close and the logging is not. In studies that measured real energy expenditure with doubly labeled water, what people logged was 330 to 579 calories a day under what they burned.

Is MyFitnessPal's calorie database accurate?

For energy, yes. Over 50 people's four-day records it gave 1,984 calories a day where a national reference database gave 1,958, a gap of 26 calories. Its sodium and cholesterol values were less than half the reference values.

Why do two apps show different calories for the same food?

Mostly because of the entry you pick and the portion you assume, not the underlying numbers. The published app-versus-reference gap for energy is around 1%, while portion and omission errors run to hundreds of calories.

Does a calorie tracker still work if it is 300 calories off?

Yes, if the error is consistent, because you set your target from your own logged average and your weight trend rather than from a formula. It stops working when the error swings, and the published limits of agreement are wide.

Are photo based calorie apps more accurate than typing?

Not in the one controlled test I can find. Four photo apps run over 102 meals weighed to 0.1 g came in 250 to 345 calories low per meal.