How accurate are food databases in calorie-counting apps?

USDA entries vs user-submitted entries, why one banana shows five numbers, and a 20-second check for any entry.

By the Cal.AI Team · Published · 4 min read

Short answer Food database accuracy depends on where each entry came from, not on the app. USDA entries are built from laboratory analysis and are consistent; user-submitted entries can carry typos, wrong serving sizes and mixed-up raw and cooked values. Pick entries that name the food fully, match the cooked state, and scan barcodes for packaged food.

How accurate are food databases in calorie-counting apps?

It depends on the entry, not the app. Most food databases are a mix of three sources: laboratory-analyzed reference values such as USDA FoodData Central, manufacturer label data pulled in by barcode, and entries typed in by other users. The first two are reliable within known limits. The third is the one that produces five different numbers for "banana".

Reference values are averages of real samples, so your banana will differ a little from the USDA banana. Label data is bound by the 20% tolerance in 21 CFR 101.9. User entries have no such floor: a serving size can be wrong, a value can be copied from a different product, or a cooked food can be logged under a raw name. Learning to tell these apart is most of the skill.

Why "banana" shows five numbers

Take the simplest case. USDA lists a raw banana at 89 kcal per 100 g, with reference portions of 101 g (small), 118 g (medium) and 136 g (large). Those three sizes alone give 90, 105 and 121 kcal. Add an entry someone created for "1 banana" from the one on their counter and one copied from a dried banana chip label, and a search returns five values that all look plausible.

Across a day, a 15 kcal banana difference does not matter. The entries that do matter are the ones where density is wrong by a multiple, not a percentage. Those usually involve one of the following.

ProblemExample (USDA, per 100 g)Size of error
Raw vs cooked confusionDry rolled oats 379 kcal vs cooked oatmeal 71 kcalAbout 5× per gram
Skin on vs meat onlyChicken wing with skin 254 kcal vs chicken breast meat only 165 kcalAbout 1.5×
Fat level not namedWhole-milk Greek yogurt 97 kcal vs nonfat Greek yogurt 59 kcalAbout 1.6×
Packed in oil vs waterSardines in oil, drained 208 kcal vs tuna in water, drained 86 kcalAbout 2.4×
Serving unit guessed"1 cup" of cooked pasta: 124 g not packed vs 151 g packedAbout 20%

USDA entries vs user-submitted entries

USDA FoodData Central is the reference most apps build on. Its core entries come from laboratory analysis of sampled foods, reported per 100 g with standard portion weights. It also carries a branded-foods section built from manufacturer labels. When an app shows a plain food with a precise, unrounded value such as 165 kcal and 31.02 g protein per 100 g for cooked chicken breast, that is usually a USDA-derived entry.

User-submitted entries are useful for restaurant dishes and regional foods the reference sets do not cover. They are also where errors live. The tell-tale signs are round numbers with no decimals, missing macros, serving sizes like "1 plate", and macros that do not add up: protein and carbs at 4 kcal per gram plus fat at 9 should land within a few percent of the listed calories.

Worked example: checking an entry in 20 seconds

You search "chicken breast" and see two entries. Entry A: 165 kcal, 31 g protein, 0 g carbs, 3.6 g fat per 100 g. Entry B: 110 kcal, 23 g protein, 0 g carbs, 1 g fat, with the serving listed as "1 piece".

How to pick the right entry

  1. Scan the barcode for anything packaged. Label values are the manufacturer's own numbers and are held to the 20% tolerance.
  2. Prefer entries with full names. "Chicken, broilers or fryers, breast, meat only, cooked, roasted" is a USDA description. "Chicken" is not.
  3. Match the state. Raw, cooked, dry, drained, with skin, without skin.
  4. Log in grams. Portion labels such as "1 medium" are fine for fruit and risky for everything else.
  5. Run the macro check on anything that looks off.
  6. Reuse what you verify. In Cal.AI, a food corrected through Fix Results is saved for one-tap reuse, so you check each food once.

Common mistakes

Pick the right entry once in Cal.AI Cal.AI is free on iPhone, Apple Watch and Android. Snap a photo, scan a barcode or search any food, then fix anything the AI gets wrong.
Download on the App Store Get it on Google Play

Frequently asked questions

Are USDA food database values accurate?

USDA FoodData Central reference values come from laboratory analysis of sampled foods and are reported per 100 g with decimals. They are averages, so a specific apple or steak will vary around them, but they carry no 20% label tolerance and no user typos. For plain foods they are the most reliable numbers available.

Why does the same food have different calories in different apps?

Different apps draw on different sources, define servings differently, and may round values. One may list chicken breast cooked and another raw, and both are correct for their state. Pick one app, favor USDA and barcode entries, log in grams, and stay consistent so your errors are stable rather than random.

Is a barcode more accurate than a photo for packaged food?

Yes. The barcode returns the label values, which are the manufacturer's measured numbers held to the 20% tolerance in 21 CFR 101.9. A photo of a packaged snack has to guess the product and the amount. Use the barcode, then set the amount to what you actually ate rather than one serving.

How does Cal.AI handle database entries?

Cal.AI offers barcode, food search, manual entry and photo scan. For packaged foods, scan the barcode. For plain foods, search and set the weight. After a photo scan, Fix Results lets you rename an item, swap an ingredient or adjust the portion, and the corrected food is saved for one-tap reuse.

Sources

Related articles

Cal.AI TeamWe build Cal.AI, an AI calorie counter for iPhone, Apple Watch and Android. Every number in this article links to its source; see how we research and fact-check. This is general nutrition-tracking guidance, not medical advice.