The arithmetic is fine, the inputs aren't#
Asking how accurate calorie-tracking apps are is a bit like asking how accurate a calculator is. The addition is flawless. Everything feeding it is not. An app's accuracy is almost entirely the accuracy of two things it doesn't control: the database entry you picked, and whether you logged the meal the way you actually ate it.
The cleanest evidence separates those two. When researchers took 30 dietary recalls collected from adults, processed them through NDSR — the research-grade analysis software used in nutrition science — and then had the same food data manually entered into five popular consumer apps, the apps tracked energy and macronutrients closely (correlations of r = 0.73 to 0.96) but every single one significantly underestimated at least one nutrient, with shortfalls ranging from 7 to 41 percent below the reference1. Note what that study removed: user error. Trained staff entered known food. Whatever error remained belongs to the databases themselves.
Same food, five apps, five answers#
The Griffiths design is worth dwelling on because it is the closest thing to a controlled experiment the field has. MyFitnessPal, Fitbit, Lose It!, MyPlate, and Lifesum all received identical, expertly-collected dietary data and all disagreed with the research standard — but each in its own direction1:
| App | Nutrients significantly underestimated vs. NDSR |
|---|---|
| MyFitnessPal | Protein, fat, sodium, cholesterol |
| Fitbit | Dietary fiber |
| Lose It! | Protein, fat, sodium, sugars, cholesterol, saturated fat |
| MyPlate | Sodium, dietary fiber |
| Lifesum | Total fat |
The authors' conclusion is the line to carry away: apps consistently underestimate nutrients, and in doing so risk magnifying the underreporting already baked into self-reported diet. Two errors pointing the same direction do not cancel. They compound. This is a large part of why calorie estimates vary between tools that appear to be doing identical arithmetic.
Energy survives. The details don't.#
Here's the nuance most coverage of this topic skips, and it cuts in the apps' favor. A separate validation had 50 adults keep 4-day dietary records in MyFitnessPal, compared against the Belgian Nubel reference database2:
| Nutrient | Correlation | Difference vs. reference |
|---|---|---|
| Energy | r = 0.96 | +1.3% |
| Fat | r = 0.90 | −1.7% |
| Carbohydrate | r = 0.90 | −6.4% |
| Protein | r = 0.90 | −7.8% |
| Fiber | r = 0.80 | ≈ −20% |
| Sodium | ρ = 0.53 | −51% |
| Cholesterol | ρ = 0.51 | −77% |
Read the top row and the bottom row together. For calories — the thing you opened the app for — the database was excellent: a 1.3 percent difference and a 0.96 correlation is better than nearly any other estimate in your day. For sodium and cholesterol it was off by half and three-quarters respectively. The database is not uniformly bad; it is sharply uneven, and it is best at exactly the job most people use it for.
A calorie app is a good calorie instrument and a poor micronutrient instrument. If you're tracking sodium in one, you're reading a number that was off by half in validation.
Why crowd-sourced entries drift#
Why would a database be excellent at energy and terrible at cholesterol? Because of how it was built. MyFitnessPal is, as the validation authors note, "partially user-based" — crowd-sourced entries sit alongside verified ones2. A user adding a food types in what the label shows them. Labels show calories and macros prominently; cholesterol and sodium get skipped or left at zero. The database inherits the shape of the label and the attention of whoever entered it.
That mechanism produces a second, subtler problem that no validation study can measure: entry selection. Search a crowd-sourced database for a common food and you get a wall of near-duplicate results with meaningfully different numbers — same food, different assumptions about weight, brand, and preparation, plus outright typos that nobody corrects. Something has to choose. That something is you, at 9pm, mildly hungry, with an opinion about how the day is going. The database didn't make an error there; it offered a menu, and motivated reasoning ordered from it. The structural reasons behind this are worth understanding in depth — see crowd-sourced food database errors.
The error the app can't see#
Even a perfect database is downstream of what you tell it, and that is where the largest error lives. Measured against doubly labeled water, written food records underestimate real energy intake by 11 to 41 percent, and 24-hour recalls — the most accurate manual method — by 8 to 30 percent3. Forgotten bites, the oil the pan was slicked with, the handful from someone else's plate. None of it reaches the app.
So the honest accounting stacks three layers: your report of what you ate (the biggest error), the entry you selected for it (a moderate error with a motivated direction), and the database value behind that entry (small for calories, large for micronutrients). The app's math is the only step that is exact, and it is the step everyone argues about. If tracking every one of those layers sounds like more effort than it's worth, that's a reasonable conclusion — plenty of people manage weight without counting calories at all, using portions and habits as the stable proxy.
What actually reduces entry error#
Three things move the needle, in descending order of impact.
Scan the barcode when there is one. Packaged food is the most trustworthy number available: 24 popular snack products measured a median of just 6.8 kcal — 4.3 percent — above their labels5. A scan also bypasses entry selection entirely, which is its underrated benefit.
Describe the food instead of searching for it. AI parsing changes the failure mode rather than eliminating it. Given a meal, current models identify what's on the plate with about 93 percent precision but underestimate its weight in roughly three cases out of four4. That is a real trade, not a free win: you swap a database-search error for an estimation error. What you gain is that the estimation error is unmotivated — a model has no stake in your day going well (it is why BurnWeek parses a description instead of handing you a search page of near-duplicates to choose between), and it won't quietly pick the 110-calorie chicken breast over the 230-calorie one. The portion blind spot is covered in full in how accurate AI photo calorie counters are.
Demand that the tool show its uncertainty. Every layer above produces a number with a width, and a single figure throws that width away. An app displaying "1,847" has performed exact arithmetic on inputs that could not support the seventh digit, let alone the first three — and a barcoded yogurt and a described restaurant curry are not the same quality of evidence, so they have no business printing the same way. The full audit across every method is in how accurate calorie counting is, and why calorie counts are ranges works through what a width should be doing.
FAQ#
Which calorie-tracking app is the most accurate?#
No app has a demonstrated overall edge. In the only head-to-head test using identical expert-entered data, all five popular apps significantly underestimated at least one nutrient versus a research-grade reference, differing in which nutrients they missed rather than in whether they missed1. Choose on whether you'll keep using it, because consistency beats a marginal database difference.
Why do two apps give different calories for the same meal?#
Because they resolve your food to different database entries, each an average built on different assumptions about brand, portion, and preparation — and because crowd-sourced entries are partially user-submitted2. The disagreement between apps is a useful reminder that the "true" number was a range all along.
Can I trust a calorie app's sodium or fiber numbers?#
Treat them as rough at best. In validation against a reference database, MyFitnessPal's energy figure was within 1.3 percent while sodium ran 51 percent low and cholesterol 77 percent low2. Calorie apps are built and populated around calories and macros; the rest of the panel is incidental.
Sources#
- Griffiths C, et al. Assessment of the accuracy of nutrient calculations of five popular nutrition tracking applications. Public Health Nutr. 2018.
- Evenepoel C, et al. Accuracy of nutrient calculations using the consumer-focused online app MyFitnessPal: validation study. J Med Internet Res. 2020.
- Burrows TL, et al. Validity of dietary assessment methods when compared to the method of doubly labeled water: a systematic review in adults. Front Endocrinol. 2019.
- O'Hara C, et al. An evaluation of ChatGPT for nutrient content estimation from meal photographs. Nutrients. 2025.
- Jumpertz R, et al. Food label accuracy of common snack foods. Obesity (Silver Spring). 2013.



