OpenNutriTracker is an open-source mobile application designed to simplify nutritional tracking and management. Whether you are looking to improve your health, lose weight, or simply maintain a balanced diet, OpenNutriTracker provides a minimalistic interface to easily track and analyze your daily nutrition.
- π Nutritional tracking: Log meals and snacks against a large food database (Open Food Facts plus a curated subset of USDA FDC). Each entry can be searched, scanned, or added straight as a number when you already know the calorie cost.
- π Food diary: A calendar-driven diary that breaks the day into Breakfast, Lunch, Dinner, and Snack, with per-meal kcal targets (Standard, OMAD, Five-small, Mediterranean, Two-meal, or a custom share), drag-to-rearrange between meals, and sort by time or by macro contribution.
- π₯ Micronutrient panel: Day and week views for fibre, sodium, saturated fat, sugar, calcium, iron, potassium, vitamin D, vitamin B12, and magnesium, with optional Dietary Reference Intake bars from the IOM tables so you can see where you sit against the reference range.
- π½οΈ Custom meals + recipes: Build a one-off custom meal or save a reusable recipe with photo, brand, and barcode. The recipe builder has its own ingredient picker with barcode scanning so you can compose meals from real products without leaving the screen.
- β‘ Quick add: When you already know roughly how much you ate, skip the search flow entirely β Quick add takes a title plus kcal (and optional macros) and logs it straight to the meal section.
- π· Barcode scanner: Scan packaged items for instant lookup, paste a barcode manually when the camera struggles, or attach a barcode to a custom meal so future scans recognise your own foods.
- π Activities: Log workouts from a categorised activity catalogue or define your own custom activities with direct kcal entry and reusable templates.
- π§ Water tracker: A water chip on the home screen with quick-add increments, an editable goal, and undo for the last entry.
- β±οΈ Fasting timer: Optional intermittent-fasting timer with content-warning gate, a home chip showing time remaining, and a completion notification when you reach your window.
- βοΈ Weight history: Capture weight during onboarding and on demand, see the trend on a chart with a dashed line at your target weight, and optionally taper the calorie goal as you approach it.
- π¨ Material You + theme picker: Adopt the system accent colour on Android 12+, or pick from sixteen built-in presets. The app icon adapts to iOS dark and tinted appearances and to Android themed icons.
- π’ kcal or kJ: Switch the energy unit globally; every diary entry, target, and chart reflects the choice.
- π€ Export and import: Export your full diary, activities, and custom catalogue to a JSON zip or CSV, paste a JSON blob to import meals, and share a single meal or activity as a QR code another phone can scan.
- π Privacy first: All data is AES-encrypted and stored locally. Anonymous crash reporting is opt-in during onboarding, can be turned off at any time, and the App Store privacy manifest declares exactly what the app does and does not collect.
- π«π° No subscriptions, in-app purchases, or ads: OpenNutriTracker is free, with no paid tier and no advertising.
See Data Protection
- Data Encryption: All collected user data is encrypted and stored locally on your device
- Minimal Data Collection: OpenNutriTracker only collects the necessary information required for tracking nutrition and providing personalized insights. Your data will not be shared with third parties without your consent.
- Open-Source: OpenNutriTracker is an open-source application
If you are side-loading an OpenNutriTracker APK from GitHub Releases β or from F-Droid, once the app is published there β you may reasonably want to confirm that the file you downloaded was signed by the same key the maintainer uses for every release, rather than by someone who intercepted the download or repackaged the app. The check below is for anyone who would like that extra reassurance before installing.
The official SHA256 fingerprint of the Android release signing certificate is:
TODO(simon): paste fingerprint from release keystore β see "Generating the SHA256 fingerprint" in RELEASE.md
To verify a downloaded APK against that fingerprint, run:
apksigner verify --print-certs /path/to/opennutritracker.apkThe SHA-256 line in the output should match the value above exactly.
Contributions to OpenNutriTracker are welcome! If you find any issues or have suggestions for new features, please open an issue or submit a pull request. See CONTRIBUTING.md for the project's conventions β including the requirement to target the develop branch and the steps for adding localized strings.
Thanks to all the contributors:
See the Getting Started file for more information.
The data export bundle (Settings β Export / Import App Data β Export) is
documented at docs/export-format.md β both the
JSON schema and the CSV companion the import / export round-trip uses.
Self-hosting the Supabase FDC database for local development is documented at docs/supabase-fdc-self-hosting.md.
OpenNutriTracker is not a medical application. All data provided is not validated and should be used with caution. Please maintain a healthy lifestyle and consult a professional if you have any problems. Use during illness, pregnancy or lactation is not recommended.
The application is still under construction. Errors, bugs and crashes might occur.
The OpenNutriTracker project was inspired by the need for a simple and effective nutrition tracking tool.
The food database used in OpenNutriTracker is powered by Open Food Facts and Food Data Central. A curated subset of FDC is hosted in Supabase to keep search responsive on slow connections; the schema and refresh process are documented in docs/supabase-fdc-self-hosting.md.
Dietary Reference Intake values for the micronutrient panel come from the U.S. National Academies' Institute of Medicine tables. The in-app Sources & References screen (one tap from the home calorie ring or the profile BMI card) lists the peer-reviewed sources used for energy needs, BMI classification, macro distribution, MET activity calories, and non-binary calorie estimation.
This project is licensed under the GNU General Public License v3.0 License. See the LICENSE file for more information.
For questions, suggestions, or collaborations, feel free to contact the project maintainer:
Simon Oppowa
- GitHub: @simonoppowa
- Email: opennutritracker-dev@pm.me