About this project

OpenNutriTracker is a free, open-source calorie, macro and micronutrient tracker for Android and iOS, built with Flutter/Dart and released under GPLv3. It is aimed at people who want to track eating without handing their history to a company. Core logging: search a food database, scan a barcode, or quick-add a known calorie figure. The diary is calendar-based and split into Breakfast, Lunch, Dinner and Snack, with per-meal kcal targets and drag-to-rearrange between meals. Reusable recipes and custom meals can carry a photo, brand and barcode. Tracking and review: trends show day streaks, calories against a goal line, macro averages, water intake and weight against a target, over 7, 30, 90 days or full history. A micronutrient panel covers ten nutrients (fibre, sodium, saturated fat, sugar, calcium, iron, potassium, vitamin D, B12, magnesium) with optional reference-intake bars. There is a water chip and an optional intermittent-fasting timer. Targets are derived from height, weight, age and activity level, and the project states that calorie targets follow IOM 2005, BMI follows WHO, macros follow WHO TRS 916 and activity burn follows the 2024 Compendium, with an in-app sources screen linking the papers. Food data comes from Open Food Facts plus a multi-source reference backend covering USDA FoodData Central and the German BLS; the backend is a separate open repository that can be self-hosted. Settings let you choose which databases a search covers. Privacy posture: no account, no sign-in, no ads and no analytics SDKs. Profile, diary, activities, weight, water, fasting history, custom meals and recipes are stored in local Hive boxes encrypted with AES-256, with the key in the Android Keystore / iOS Keychain. The README lists every destination that can receive a request and what is sent to each, including Open Food Facts, the Supabase backend, optional crash reporting via Sentry, and optional AI meal assistance via Anthropic, OpenAI or OpenRouter using a user-supplied API key, or a self-hosted server address. AI assistance is labelled Experimental and is off by default; the model returns food names and amounts only, with calories and macros still taken from the food databases. Portability: export diary, activities, tracked days, recipes, weight history and custom activity templates as JSON, or diary, activities and tracked days as CSV; JSON import and QR sharing of single entries are supported. The export schema is documented. Other features include Material You accent colours on Android 12+, sixteen built-in themes, kcal or kJ units, screen-reader support, and translations managed on Weblate. The README notes that over 30 developers have contributed and that most merged pull requests come from outside the maintainer.