FOSS calorie tracker feature matrix (2026)
Ten open-source nutrition trackers, one matrix, no marketing language.
How to read this
This is a snapshot. FOSS apps gain and lose features between minor releases; “last commit” in particular goes stale fast. We re-pull this matrix every quarter and date the bottom of the post. Stars are listed in plausible bands (“≈800”) because they jump around with Reddit traffic.
The columns:
- Barcode: does it scan barcodes, and does it work offline (Y / Y-online / N).
- OFF: queries Open Food Facts.
- USDA: queries USDA FoodData Central or has a baked-in USDA dump.
- Sync: built-in multi-device sync option (WebDAV, custom server, none).
- Export: what data export formats are supported.
- Lic: software license.
- LC: last commit, banded as <30d / <6mo / <12mo / >12mo.
- Plat: platforms (A=Android, I=iOS, W=web, D=Docker self-host).
The matrix
| App | ★ band | Barcode | OFF | USDA | Sync | Export | Lic | LC | Plat |
|---|---|---|---|---|---|---|---|---|---|
| OpenNutriTracker | ≈4k | Y | Y | N | none | JSON | GPL-3 | <30d | A, I |
| Waistline | ≈800 | Y | Y | Y | WebDAV opt | CSV, JSON, snapshot | GPL-3 | <30d | A |
| Foodvore | ≈200 | Y-online | Y | N | none | JSON | MIT | <6mo | A |
| OpenScale | ≈3k | n/a | n/a | n/a | local | CSV | GPL-3 | <30d | A |
| GnuCal (web) | <100 | N | N | Y | server | SQL | AGPL-3 | <12mo | W, D |
| NutriCompute (CLI) | <100 | N | N | Y | none | CSV | MIT | <6mo | CLI |
| Calorie tracker (USDA) | <100 | N | N | Y | n/a | n/a | Public | ref | W |
| Tucker (varies) | varies | varies | Y | varies | varies | varies | varies | varies | A |
| OpenNutriDB | <100 | N | Y | Y | server | SQL | AGPL-3 | <12mo | D |
| FoodSnap-Lite | <100 | Y-online | Y | N | none | JSON | GPL-3 | <6mo | A |
A few notes on the rows:
- Tucker is listed because people search for it. It is several unrelated forks under the same project name. We treat it as illustrative, not as a single app you can just install.
- OpenNutriDB is the closest thing to a self-hosted Cronometer-replacement back-end we’ve found. It’s not a tracker app, it’s a server. You point a custom front-end at it.
- FoodSnap-Lite sounds like it does photo recognition. It does not. The “Snap” is for capturing barcodes faster.
Database coverage
For the 30-item weighed bench (see methodology), database hit rate breaks down like this:
| App | US-branded | EU-branded | Raw whole | Restaurant |
|---|---|---|---|---|
| OpenNutriTracker | 6/10 | 9/10 | 5/5 | 0/5 |
| Waistline | 9/10 | 9/10 | 5/5 | 0/5 |
| Foodvore | 5/10 | 8/10 | 5/5 | 0/5 |
| GnuCal (web) | 8/10 | 4/10 | 5/5 | 0/5 |
| NutriCompute | 7/10 | 3/10 | 5/5 | 0/5 |
Restaurant coverage is uniformly zero across FOSS. This is the structural gap. None of these databases include menu data for chains. None of them will ever, unless someone funds OFF’s restaurant-menu project for years.
Export reality check
We re-imported every “exported” file into a fresh install of the same app and counted lossy fields:
| App | Re-import succeeds? | Lossy? |
|---|---|---|
| OpenNutriTracker | partial | custom recipe units lost |
| Waistline | yes | none observed (full snapshot) |
| Foodvore | yes | comment fields lost |
| GnuCal | yes | none (raw SQL) |
| NutriCompute | yes | none (CSV is the storage format) |
| FoodSnap-Lite | partial | custom foods drop micronutrients |
If “I can leave whenever I want” is your priority, Waistline or GnuCal are the clearest winners.
License surface
Five GPL-3, two AGPL-3, two MIT, one Public Domain, one fork-dependent. The AGPL projects (GnuCal, OpenNutriDB) are server-side, which makes the share-alike clause matter. Everything else is permissive enough that you can fork and re-skin without a lawyer.
Last-commit-health
| Bucket | Apps |
|---|---|
| Healthy (<30d) | OpenNutriTracker, Waistline, OpenScale |
| Active (<6mo) | Foodvore, NutriCompute, FoodSnap-Lite |
| Slow (<12mo) | GnuCal, OpenNutriDB |
| Stale / one-off | Calorie tracker (USDA), Tucker |
If you only run apps with a commit in the last 30 days, you have three options. That’s not a lot, but it’s enough.
Closing
The FOSS ecosystem for calorie tracking is small, alive, and improving slowly. It does not yet do photo recognition. It does not yet have restaurant menus. For everything else — barcode, packaged-food databases, charting, export, multi-device through a self-hosted server — it is fine.
If you have specific reasons to need photo-based estimation, those are addressed in our commercial-vs-FOSS state of the art piece. For most readers of this site, the answer is: pick OpenNutriTracker or Waistline, run it for a month, and refresh this matrix when it goes out of date.
This matrix re-pulled April 18, 2026.
References
- All linked GitHub repos as listed in the rows
- USDA FoodData Central: fdc.nal.usda.gov/api-guide
- Open Food Facts API: world.openfoodfacts.org/data
- Methodology: /methodology/