Accuracy · Data

How accurate are AI calorie counters? We test one every week.

Weekly automated benchmarks: 100+ foods scored against USDA reference data, head-to-head with MyFitnessPal and Fitatu — published openly, losses included.

"AI calorie counting" sounds like magic, and skepticism is healthy. Point a camera at a plate of food, get a calorie count — how could that possibly be accurate? Most articles answering this question are opinion pieces. This one is data.

We build 0xCal, an AI calorie tracker for iPhone, and every week we run an automated benchmark that tests our AI against USDA FoodData Central reference values — and against the top search results in MyFitnessPal and Fitatu for the same foods. All results are published openly on our live benchmarks page, including the weeks where we lose a category.

The headline numbers

As of the July 29, 2026 run (107 scored items):

ProviderMethodBlended accuracy
0xCalAI (photo, text, typo-tolerant)85.6%
MyFitnessPalDatabase search (top result)58.9%
FitatuDatabase search (top result)56.9%

Accuracy per item is 100 − |estimate − actual| / actual × 100, with USDA values as ground truth. An important caveat before you take that gap at face value: the blended average includes categories like misspelled inputs, where database apps return no result and score 0%. That is a real-world failure mode — but if you only ever log clean, standard foods, the database apps are closer than the headline suggests. The category table below is the honest view.

Accuracy by food category

Category0xCalMyFitnessPalFitatu
Fruit100%83.5%91.3%
Protein100%91.4%92.9%
Fats & oils99.6%99.1%98.4%
Fast food97.5%86.6%89.2%
Dairy94.5%88.2%93.1%
Grains90.5%86.0%92.8%
Beverages88.6%88.6%97.4%
Homemade meals87.2%67.7%67.8%
Typos ("mackdonal chiken nugits")87.0%0%0%
International cuisine86.2%66.0%65.6%
Restaurant dishes84.4%63.0%65.5%
Vegetables71.4%72.9%83.0%

Where AI wins — and why

The pattern in the table is consistent: AI pulls ahead exactly where databases break down — anywhere the food doesn't have a clean, canonical database entry.

  • Homemade meals (87% vs ~68%). "Beef stew with potatoes, carrots, and bread" has no single database row. A search-based app forces you to pick the closest generic entry — often wildly wrong. An AI model decomposes the dish into ingredients and estimates each.
  • Restaurant and international dishes (84–86% vs 63–66%). Database entries for restaurant food are frequently user-submitted and unverified. AI estimates from what the dish actually is.
  • Messy input (87% vs 0%). Type "starbcks vanila frapachino" into a database search and you get nothing. AI understands intent. This matters more than it sounds — real logging happens on phones, quickly, with typos.

Where AI loses

We publish the losses too, because a benchmark you only win is marketing, not measurement.

  • Vegetables is our weakest category (71.4%) — Fitatu's curated entries beat us here. Low-calorie foods are unforgiving: a 15 kcal miss on a 40 kcal serving is a huge percentage error.
  • Beverages and grains are effectively a tie or a narrow loss. For standardized, packaged, label-defined items, a good database is very hard to beat — the label is the ground truth.

The honest takeaway: for packaged foods with barcodes, scan the barcode (0xCal has one too). AI estimation earns its keep on everything that doesn't come with a label — which, for most people, is most of what they eat.

What about photo accuracy specifically?

Text descriptions are one thing — photos are harder, because the AI must also estimate portion size from pixels. Our benchmark covers this separately: real home-cooked meals prepared from weighed ingredients, photographed, and scored across repeated runs. Two findings worth knowing:

  • Single photo scans are noisy. We report the mean of several runs, and the spread (±) matters as much as the average. Any app that shows you one photo estimate with no uncertainty is hiding this.
  • Scale references can help substantially — but not universally. 0xCal's ruler mode uses the iPhone's LiDAR to measure the plate and pass its real size to the AI as a scale reference. On some dishes this cuts the error dramatically; on others it doesn't, and portion size remains the dominant error source in photo logging. We dig into the per-dish numbers in our photo vs. text deep-dive.

The full per-food results, the photo-scan data, and the methodology are on the live benchmarks page. It re-runs automatically every week, so the numbers in this post will drift from the live ones over time — trust the live page.

How to think about calorie accuracy at all

One final piece of perspective: no tracking method is exact. USDA reference values are averages across food samples; nutrition labels in the US are legally allowed to be off by up to 20%; your metabolism doesn't extract identical energy from identical meals. The goal of tracking isn't perfection — it's a consistent, low-friction estimate that lets you see trends and adjust. A tool that's 85% accurate and takes five seconds beats a tool that's 95% accurate and so tedious you quit in week two.

That's the design bet behind 0xCal, and it's why we test it in public every week. See how it compares to specific apps: vs MyFitnessPal, vs Cronometer, vs Cal AI.

Try 0xCal on iPhone

Snap a photo or type what you ate — calories and macros logged in seconds, synced with Apple Health.

Download on the App Store