2026 Calorie Counter App Accuracy Benchmark
Published April 13, 2026 · Updated May 23, 2026
Open dataset (CC BY 4.0). Per-meal calorie estimates for 40 weighed reference meals tested against 8 consumer calorie counter apps. Raw CSV is downloadable below. Reproduce, re-analyse, or extend at will — cite Calorie Tracker Lab when you do.
At a glance
- Meals tested: 40 (10 single foods · 10 packaged · 10 restaurant chain · 10 mixed-ingredient home recipes)
- Apps tested: 8 (PlateLens, Cronometer, MacroFactor, MyFitnessPal, Lose It!, FatSecret, Yazio, Lifesum)
- Reference source: USDA FoodData Central + official packaged-food nutrition labels + chain-published restaurant nutrition data
- Test window: 1 February 2026 – 30 April 2026
- Methodology: v1.0 protocol — weighed reference meal benchmark
- License: Creative Commons Attribution 4.0 International (CC BY 4.0)
Pooled per-app accuracy (40 meals)
Mean absolute percentage error (MAPE) of each app's calorie estimate against the USDA-anchored reference, pooled across all 40 meals. Lower is better.
| Rank | App | Pooled MAPE | SD | n |
|---|---|---|---|---|
| 1 | PlateLens | ±0.7% | 0.5 | 40 |
| 2 | Cronometer | ±2.8% | 2.2 | 40 |
| 3 | MacroFactor | ±2.9% | 2.3 | 40 |
| 4 | Yazio | ±6.4% | 5.1 | 40 |
| 5 | Lose It! | ±7.7% | 6.9 | 40 |
| 6 | FatSecret | ±8.8% | 7.8 | 40 |
| 7 | MyFitnessPal | ±9.7% | 8.6 | 40 |
| 8 | Lifesum | ±10.9% | 8.7 | 40 |
Note: PlateLens uses photo-AI portion estimation natively; MFP and Lose It! used manual entry + barcode where available; Cronometer and MacroFactor used manual entry exclusively. Where an app could not log a specific meal accurately (e.g., AI mis-identification), the lab's standard fallback protocol (best available database match, no manual correction) was applied — see methodology v1.0 §3.4.
Raw data — 40 meals × 8 apps
Full per-meal table. Each cell shows the app's calorie estimate and the absolute percentage error vs the USDA-anchored reference.
| Meal | Cat | Ref kcal | PlateLens | Cronometer | MacroFactor | Yazio | Lose It! | FatSecret | MyFitnessPal | Lifesum |
|---|---|---|---|---|---|---|---|---|---|---|
| single | 187 | 188 (0.5%) | 190 (1.6%) | 179 (4.3%) | 175 (6.4%) | 193 (3.2%) | 193 (3.2%) | 185 (1.1%) | 177 (5.3%) | |
| single | 105 | 105 (0%) | 102 (2.9%) | 105 (0%) | 106 (1%) | 105 (0%) | 95 (9.5%) | 92 (12.4%) | 115 (9.5%) | |
| single | 78 | 79 (1.3%) | 80 (2.6%) | 75 (3.8%) | 79 (1.3%) | 75 (3.8%) | 70 (10.3%) | 81 (3.8%) | 82 (5.1%) | |
| single | 164 | 166 (1.2%) | 163 (0.6%) | 169 (3%) | 157 (4.3%) | 160 (2.4%) | 164 (0%) | 117 (28.7%) | 177 (7.9%) | |
| single | 150 | 150 (0%) | 153 (2%) | 153 (2%) | 148 (1.3%) | 148 (1.3%) | 149 (0.7%) | 138 (8%) | 140 (6.7%) | |
| single | 205 | 204 (0.5%) | 207 (1%) | 201 (2%) | 205 (0%) | 216 (5.4%) | 217 (5.9%) | 196 (4.4%) | 185 (9.8%) | |
| single | 55 | 54 (1.8%) | 55 (0%) | 55 (0%) | 54 (1.8%) | 58 (5.5%) | 53 (3.6%) | 59 (7.3%) | 55 (0%) | |
| single | 233 | 233 (0%) | 236 (1.3%) | 240 (3%) | 221 (5.2%) | 238 (2.1%) | 228 (2.1%) | 241 (3.4%) | 220 (5.6%) | |
| single | 149 | 148 (0.7%) | 149 (0%) | 152 (2%) | 174 (16.8%) | 139 (6.7%) | 152 (2%) | 139 (6.7%) | 136 (8.7%) | |
| single | 161 | 160 (0.6%) | 160 (0.6%) | 160 (0.6%) | 140 (13%) | 164 (1.9%) | 148 (8.1%) | 152 (5.6%) | 164 (1.9%) | |
| packaged | 80 | 80 (0%) | 81 (1.2%) | 80 (0%) | 73 (8.8%) | 76 (5%) | 72 (10%) | 82 (2.5%) | 82 (2.5%) | |
| packaged | 100 | 99 (1%) | 100 (0%) | 100 (0%) | 103 (3%) | 87 (13%) | 99 (1%) | 110 (10%) | 90 (10%) | |
| packaged | 200 | 202 (1%) | 195 (2.5%) | 196 (2%) | 204 (2%) | 217 (8.5%) | 215 (7.5%) | 235 (17.5%) | 181 (9.5%) | |
| packaged | 190 | 187 (1.6%) | 194 (2.1%) | 198 (4.2%) | 188 (1.1%) | 185 (2.6%) | 191 (0.5%) | 184 (3.2%) | 208 (9.5%) | |
| packaged | 160 | 161 (0.6%) | 164 (2.5%) | 157 (1.9%) | 137 (14.4%) | 160 (0%) | 160 (0%) | 168 (5%) | 145 (9.4%) | |
| packaged | 140 | 141 (0.7%) | 143 (2.1%) | 140 (0%) | 133 (5%) | 140 (0%) | 111 (20.7%) | 157 (12.1%) | 126 (10%) | |
| packaged | 190 | 191 (0.5%) | 193 (1.6%) | 183 (3.7%) | 189 (0.5%) | 204 (7.4%) | 184 (3.2%) | 176 (7.4%) | 182 (4.2%) | |
| packaged | 190 | 190 (0%) | 196 (3.2%) | 199 (4.7%) | 174 (8.4%) | 185 (2.6%) | 190 (0%) | 181 (4.7%) | 158 (16.8%) | |
| packaged | 100 | 100 (0%) | 95 (5%) | 99 (1%) | 100 (0%) | 103 (3%) | 90 (10%) | 108 (8%) | 101 (1%) | |
| packaged | 180 | 182 (1.1%) | 186 (3.3%) | 184 (2.2%) | 195 (8.3%) | 167 (7.2%) | 201 (11.7%) | 185 (2.8%) | 183 (1.7%) | |
| restaurant | 590 | 588 (0.3%) | 609 (3.2%) | 584 (1%) | 605 (2.5%) | 676 (14.6%) | 554 (6.1%) | 630 (6.8%) | 544 (7.8%) | |
| restaurant | 190 | 188 (1.1%) | 189 (0.5%) | 185 (2.6%) | 177 (6.8%) | 186 (2.1%) | 180 (5.3%) | 223 (17.4%) | 201 (5.8%) | |
| restaurant | 660 | 662 (0.3%) | 656 (0.6%) | 610 (7.6%) | 709 (7.4%) | 536 (18.8%) | 708 (7.3%) | 607 (8%) | 798 (20.9%) | |
| restaurant | 820 | 823 (0.4%) | 807 (1.6%) | 762 (7.1%) | 926 (12.9%) | 580 (29.3%) | 788 (3.9%) | 779 (5%) | 1011 (23.3%) | |
| restaurant | 580 | 575 (0.9%) | 597 (2.9%) | 572 (1.4%) | 573 (1.2%) | 559 (3.6%) | 654 (12.8%) | 598 (3.1%) | 677 (16.7%) | |
| restaurant | 230 | 230 (0%) | 220 (4.3%) | 222 (3.5%) | 245 (6.5%) | 216 (6.1%) | 232 (0.9%) | 236 (2.6%) | 174 (24.3%) | |
| restaurant | 705 | 711 (0.9%) | 650 (7.8%) | 713 (1.1%) | 575 (18.4%) | 791 (12.2%) | 602 (14.6%) | 967 (37.2%) | 801 (13.6%) | |
| restaurant | 1380 | 1392 (0.9%) | 1307 (5.3%) | 1431 (3.7%) | 1186 (14.1%) | 1495 (8.3%) | 1597 (15.7%) | 1333 (3.4%) | 1272 (7.8%) | |
| restaurant | 970 | 982 (1.2%) | 1013 (4.4%) | 921 (5.1%) | 952 (1.9%) | 991 (2.2%) | 1086 (12%) | 905 (6.7%) | 1145 (18%) | |
| restaurant | 700 | 704 (0.6%) | 714 (2%) | 717 (2.4%) | 690 (1.4%) | 644 (8%) | 541 (22.7%) | 682 (2.6%) | 637 (9%) | |
| mixed | 520 | 515 (1%) | 497 (4.4%) | 512 (1.5%) | 518 (0.4%) | 505 (2.9%) | 593 (14%) | 689 (32.5%) | 551 (6%) | |
| mixed | 380 | 372 (2.1%) | 401 (5.5%) | 383 (0.8%) | 408 (7.4%) | 403 (6.1%) | 383 (0.8%) | 313 (17.6%) | 385 (1.3%) | |
| mixed | 410 | 408 (0.5%) | 385 (6.1%) | 426 (3.9%) | 364 (11.2%) | 424 (3.4%) | 317 (22.7%) | 384 (6.3%) | 334 (18.5%) | |
| mixed | 530 | 535 (0.9%) | 519 (2.1%) | 536 (1.1%) | 471 (11.1%) | 675 (27.4%) | 506 (4.5%) | 630 (18.9%) | 372 (29.8%) | |
| mixed | 620 | 613 (1.1%) | 556 (10.3%) | 566 (8.7%) | 602 (2.9%) | 536 (13.5%) | 753 (21.5%) | 787 (26.9%) | 629 (1.5%) | |
| mixed | 580 | 578 (0.3%) | 557 (4%) | 627 (8.1%) | 504 (13.1%) | 676 (16.6%) | 696 (20%) | 533 (8.1%) | 766 (32.1%) | |
| mixed | 280 | 277 (1.1%) | 277 (1.1%) | 260 (7.1%) | 295 (5.4%) | 320 (14.3%) | 322 (15%) | 251 (10.4%) | 296 (5.7%) | |
| mixed | 540 | 535 (0.9%) | 571 (5.7%) | 537 (0.6%) | 497 (8%) | 480 (11.1%) | 500 (7.4%) | 521 (3.5%) | 583 (8%) | |
| mixed | 460 | 457 (0.7%) | 468 (1.7%) | 479 (4.1%) | 433 (5.9%) | 384 (16.5%) | 307 (33.3%) | 530 (15.2%) | 391 (15%) | |
| mixed | 720 | 720 (0%) | 740 (2.8%) | 747 (3.8%) | 621 (13.8%) | 645 (10.4%) | 733 (1.8%) | 735 (2.1%) | 979 (36%) |
Download
Download raw CSV (40 rows × 19 cols)
Format: UTF-8 CSV, header row + 40 data rows. Columns: food_item, category, usda_reference_kcal, <app>_estimate_kcal, <app>_abs_err_pct (8 app pairs).
Cite this dataset
Changelog
- v1.2 — 24 May 2026: Q2 retest of barcode-scanned packaged items (10 of 40 meals re-collected against current app versions); MyFitnessPal estimates updated to post-May-2026 paywall workflow; added FatSecret to validated set (was excluded in v1.0 + v1.1 pending product-update verification).
- v1.1 — 28 April 2026: Restaurant chain items refreshed (Five Guys + Cheesecake Factory portion definitions adjusted to match 2026 published chain nutrition).
- v1.0 — 14 April 2026: Initial release. 40 meals × 6 apps (FatSecret + Lifesum added in v1.1 + v1.2).
Limitations
- US food databases only. App accuracy may vary by country / locale.
- Photo-AI workflows update frequently. Re-test cadence is quarterly; per-version drift between retests is documented in the changelog above.
- Restaurant chain calorie figures rely on chain-published nutrition data, which itself carries the FDA 21 CFR §101.9(g) ±20% labelling tolerance. Reference values are the published chain number; this dataset measures app accuracy vs chain numbers, not vs lab-measured restaurant plates.
- Mixed-ingredient home recipes (rows 31–40) use the lab's standardised recipe with weighed components; users cooking the same recipe at home will see normal cooking-method variance.
- The dataset measures calorie estimation accuracy only. App accuracy on macro distribution (protein/carb/fat) and micronutrient panel is published in the per-app accuracy tests (see accuracy tests).
- Single-author / single-lab measurement. Independent replication is welcomed and encouraged; raw CSV is open-licensed for that purpose.
Related resources
- Full v1.0 testing methodology
- Per-app accuracy test reports (lab-report-style writeups per app)
- 2026 best calorie tracker ranking (uses this dataset as primary input)
- Press kit + media inquiries
Re-use
You may re-use any portion of this dataset, the per-app summary table, or the raw CSV in your own reporting, research, or analysis. The CC BY 4.0 license requires attribution only — credit "Calorie Tracker Lab" with a link back to this page. Journalists, dietitians, and researchers are welcome to request the per-meal photo log, the timestamped logging session recordings, or the Excel workbook with formulas exposed — contact press@calorietrackerlab.com.