You log 1,800 calories, your watch says you burned 2,400, and the scale does not move for three weeks. Something in that chain is wrong, and it is worth knowing exactly which part.

The answer is that every number in that sentence carries error, but not the same amount. Food labels are the most reliable link. Menu calories are decent on average and unreliable individually. The calorie-burn figure on your wrist is, in most cases, close to guesswork. Knowing the size of each error tells you which numbers to trust and which to ignore.

The short answer

Packaged food labels can legally understate calories by up to 20%, and the tolerance only runs in that one direction. Restaurant menu counts are accurate on average but individually variable, with 19% of tested items exceeding their stated calories by more than 100 per portion. Wrist-worn trackers were off on energy expenditure by 27% at best and 93% at worst in controlled testing.

None of that makes calorie tracking useless. It makes tracking useful as a consistent index rather than as a measurement of truth.

How far off can a nutrition label legally be?

This is the part most people have heard about and most people get slightly wrong.

FDA regulation 21 CFR 101.9(g) sets compliance tolerances for nutrition labeling. For calories, total fat, saturated fat, cholesterol, sodium, and sugars, the measured content of a composite sample must not be more than 20% in excess of the value declared on the label.

Two implications follow, and the second is the one that gets missed:

  • The realistic worst case for a calorie tracker is that a food contains up to 20% more than stated. A 200-calorie bar could legally test at 240.
  • The tolerance is asymmetric, not a plus-or-minus 20% window. Nothing in the rule stops a product from containing meaningfully fewer calories than declared. For nutrients people want more of, such as protein, fiber, vitamins, and minerals, the direction reverses: those must be present at essentially the declared amount or above.

Worth noting: this is a compliance ceiling, not a description of typical performance. Most mainstream packaged products are considerably closer than 20%, because manufacturers build in margin to stay well clear of an enforcement problem. The tolerance describes how bad it is allowed to get, not how bad it usually is.

Are restaurant menu calories accurate?

On average, surprisingly yes. Item by item, not really.

A study published in JAMA collected 269 food items from 42 restaurants across three states and measured their energy content by bomb calorimetry. Measured values averaged 10 kcal per portion above the stated values, a difference well within statistical noise, with a 95% confidence interval running from −15 to +34 kcal.

The average hides the useful finding. Nineteen percent of the foods tested, 50 items, contained more than 100 kcal per portion above what the menu claimed. And the understatement was concentrated among the lower-calorie items, exactly the dishes people order because the number looked good.

The practical reading: a 900-calorie burrito is probably around 900 calories. A 320-calorie "light" bowl has a meaningfully higher chance of being 450. Portioning at a restaurant is done by hand, and the sauce, oil, and dressing are where the variance lives.

Why your body doesn't absorb the calories on the label

There is a second, more interesting source of error that has nothing to do with measurement quality. Even a perfectly measured label may not reflect what you actually absorb.

Calorie values on labels are typically derived from Atwater factors: 4 kcal per gram of protein, 4 per gram of carbohydrate, 9 per gram of fat. Those are population averages established over a century ago, and they assume near-complete digestion.

Whole nuts are the clearest counterexample. A 2012 study in the American Journal of Clinical Nutrition measured the energy humans actually extract from almonds at 4.6 kcal per gram, roughly 129 kcal per 28-gram serving. The Atwater prediction was 168 to 170 kcal for the same serving, a 32% overestimate. The reason is structural: intact plant cell walls trap some of the fat and it passes through undigested.

The same logic runs the other way. Grinding, cooking, and processing all increase how much energy you extract from the same gram of food. Almond butter behaves differently from whole almonds. This is one of the mechanisms behind the effects attributed to ultra-processed foods, and it is a real reason two diets with identical logged calories can produce different results.

How wrong are fitness trackers about calories burned?

This is the weakest number in the entire system, and it is the one people most often act on.

A Stanford study published in the Journal of Personalized Medicine tested seven wrist-worn devices, including the Apple Watch, Fitbit Surge, Microsoft Band, and Samsung Gear S2, against clinical reference standards: continuous telemetry for heart rate and indirect calorimetry for energy expenditure. Participants sat, walked, ran, and cycled.

The split in the results is stark:

  • Heart rate: good. Median error was lowest for cycling at 1.8% and highest for walking at 5.5%.
  • Energy expenditure: bad. No device met an acceptable accuracy threshold. The most accurate device had a median error of 27%. The least accurate was off by 93%.

The reason for the gap is straightforward. Heart rate is directly measured. Calorie burn is inferred from heart rate, movement, and demographic inputs through a proprietary model that cannot know your actual body composition, movement efficiency, or metabolic rate. Cardio machine displays have the same problem and generally worse inputs, since most do not know your weight unless you tell them.

Step counts and heart rate are worth using. The calorie figure is not a measurement.

So is calorie counting pointless?

No, and the reason is worth being clear about.

Most of the error described above is systematic rather than random. If your usual breakfast is actually 12% higher than you log, it is 12% higher every day. That constant offset shifts the absolute number but leaves the comparison intact. When you cut 300 logged calories, you have almost certainly cut real calories, even if neither the before nor the after figure is exactly right.

This is why calorie tracking works in practice despite being inaccurate in principle. It is a reliable relative measure attached to an unreliable absolute one. Trouble starts only when people treat the absolute number as truth, most commonly by eating back an inflated exercise estimate.

The one genuine failure mode is inconsistency: eyeballing portions some days and weighing them others, or logging carefully on weekdays and not at all on weekends. That converts systematic error into random error, and random error is what makes tracking stop working.

How to count in a way that survives the error

Practical adjustments, roughly in order of impact:

  • Weigh in grams rather than using cups or spoons. Volume measures for calorie-dense foods are the largest avoidable error in most people's logs. Peanut butter and oil are the usual offenders.
  • Ignore the exercise calorie figure. Set intake from a calculated maintenance estimate and let activity be part of the baseline. This TDEE guide covers how to build that estimate.
  • Use the same database entries every time. Crowd-sourced entries vary wildly. Consistency matters more than which entry is right.
  • Log restaurant meals generously. Adding 20% to a restaurant estimate is defensible given the data above.
  • Track a trend weight, not a daily weight. Use a weekly average and compare across three to four weeks. Day-to-day fluctuation is water and glycogen, not fat.
  • Prioritize protein accuracy. Protein is the number worth getting right for satiety and for preserving muscle in a deficit; this guide covers targets. This matters especially for anyone eating much less than usual, including people taking appetite-suppressing medications, as glp1.md covers in more detail.

When the numbers stop matching the scale

If the log says deficit and the weight has genuinely not moved over four weeks of consistent tracking, the productive assumption is not that your metabolism is broken. In roughly descending order of likelihood:

  1. Intake is higher than logged. Untracked oil, drinks, bites while cooking, and weekend meals are the usual sources.
  2. Exercise calories are being eaten back based on an inflated estimate.
  3. Non-exercise movement has dropped, which happens quietly during a deficit.
  4. Water retention is masking fat loss, particularly with a new training program, a high-sodium stretch, or the luteal phase of the menstrual cycle.
  5. Weight really is stable and the intake target simply needs a modest reduction.

The fix is almost never a more precise calorie number. It is a longer measurement window and one deliberate change at a time. If daily logging has become a source of stress rather than information, there are evidence-based ways to run a deficit without counting at all.