Tap the + button at the bottom of the screen. You can type an item name, use the suggestion chips that appear, scan a barcode with the camera icon, or tap the microphone to speak your item. Assign it a category and tap Add.
Go to the Categories tab (the folder icon in the tab bar). Tap Add Category, enter a name, and choose an icon and colour. Your new category immediately appears in the item picker.
Yes. The History tab stores a snapshot of each week's list. Tap any past week and you'll see its items — you can copy them back into your current list to quickly rebuild a regular shop.
Tap the circle on the left side of any row to check it off. A progress bar at the top of the list tracks how many items you've found. When you've checked everything off, the list celebrates your completed shop.
For manually-added items, tap the item row to open the edit sheet. For scanned items, tap the row to view its nutrition info — then tap Edit in the top-left corner of that sheet. You can also swipe left on any item row to reveal a Delete button.
📷 Scanning & Nutrition
Tap + to open the Add Item screen, then tap the barcode icon in the toolbar. Point your camera at the barcode — it scans automatically without needing to press anything. The first time you scan, iOS will ask for camera permission; tap Allow.
Nutrition data comes from the Open Food Facts community database, which covers millions of products but isn't exhaustive — local or store-brand products may not be listed yet. A few things to try:
Ensure you have an internet connection
Make sure the full barcode is in the camera frame and well-lit
Try scanning the barcode from a different angle
If the product is genuinely not in the database, you can add it to Open Food Facts at openfoodfacts.org to help others too
All nutrition data is sourced from Open Food Facts — a free, open, non-profit food product database built by volunteers worldwide. It contains data for millions of products from around the globe. MyGroceryList does not collect, store, or sell any of this data — it is fetched directly from Open Food Facts at scan time and saved locally on your device.
Yes — tap any scanned item row in your list to open its full nutrition sheet. This shows the Nutri-Score, Yuka wellness score, NOVA processing group, Eco-Score, a full nutrition table, and similar or healthier alternative products. The data is stored on your device and available offline after the initial scan.
Nutri-Score is a front-of-pack nutrition label used in several European countries. It grades products from A (best) to E (worst) based on a combination of positive nutrients (fiber, protein, fruits, vegetables) and negative ones (calories, sugar, saturated fat, sodium). It helps you quickly compare products within the same category.
The Yuka score (0–100) is calculated by MyGroceryList based on three factors: the Nutri-Score nutritional quality (60%), the NOVA group ultra-processing level (30%), and the number of food additives (10%). A score above 75 is considered good; below 25 is poor.
When you scan a product, the app searches Open Food Facts for other products in the same category with a better Nutri-Score. These appear in the nutrition sheet under "Healthier Alternatives" (for D/E grades) or "Similar Products" (for A–C grades). Tap Replace on any alternative to swap it into your list — the app fetches its full nutrition data and updates the item automatically.
🥗 Understanding Nutrition Scores
A (green) — Excellent nutritional quality
B (light green) — Good nutritional quality
C (yellow) — Average nutritional quality
D (orange) — Poor nutritional quality
E (red) — Bad nutritional quality
Grades are calculated per 100g/ml and are most meaningful when comparing similar products (e.g., two breakfast cereals).
NOVA classifies foods by their level of processing:
Group 1 — Unprocessed or minimally processed (fresh fruit, vegetables, meat)
Group 2 — Processed culinary ingredients (oil, flour, salt)
Group 3 — Processed foods (canned vegetables, cheese, cured meats)
Group 4 — Ultra-processed food and drink products (soft drinks, packaged snacks)
Ultra-processed (Group 4) foods are associated with poorer health outcomes in population studies.
The Eco-Score (also A–E) estimates the environmental impact of a product, accounting for greenhouse gas emissions, land use, water use, and biodiversity impact across the product's lifecycle. It is an experimental score and not available for all products.
🎙 Voice Input
Tap the microphone icon in the Add Item toolbar. Speak your item name — for example, "2 litres of semi-skimmed milk" or "a dozen eggs". After recognising your speech, the app will show the item name and ask you to pick a category from a grid. Tap the category and the item is added. Tap Back to re-record if the recognition wasn't right.
Check the following:
Go to Settings → Privacy → Microphone and ensure MyGroceryList has permission
Go to Settings → Privacy → Speech Recognition and ensure MyGroceryList has permission
Make sure your device has an internet connection (speech recognition requires it)
Try closing and reopening the app, then attempt the voice input again
Voice input uses your device's current language setting. If you've set the app to one of its 10 supported languages (English, Spanish, French, German, Chinese, Japanese, Portuguese, Arabic, Hindi, Korean), the microphone will listen for that language automatically.
☁️ iCloud Sync
MyGroceryList uses Apple's iCloud Key-Value Store to sync your list, categories, and history across all devices signed in to the same Apple ID. Changes sync automatically when you have an internet connection. No extra account is required — just sign in to iCloud on all your devices.
Try these steps in order:
Make sure both devices are signed in to the same Apple ID (Settings → [Your Name])
Ensure iCloud is enabled: Settings → [Your Name] → iCloud
Check that both devices have an active internet connection
Force-close and reopen the app on both devices
If still not syncing, toggle iCloud off and back on in Settings
All your data is stored locally on your device as well as in iCloud, so the app works fully offline. Any changes you make while offline will sync to iCloud and your other devices the next time you connect to the internet.
📁 Categories & Organisation
Tap the Categories tab, then tap and hold any category to drag it into a new order. To rename a category, tap it to open the edit form where you can change the name, icon, and colour.
Yes — swipe left on any category in the Categories tab to reveal a Delete option. Note that deleting a category will move any items assigned to it to "Uncategorised".
🔧 Troubleshooting
Try the following:
Force-close the app (swipe up from home bar) and reopen it
Restart your iPhone or iPad
Check for an app update in the App Store
Ensure your device has at least a few hundred MB of free storage
If crashes persist, please contact us using the form below and include your device model and iOS version.
Delete the app from your device and reinstall it from the App Store. Note: this will erase all local data. If iCloud sync was enabled, your data will restore automatically after reinstalling and signing back in to iCloud.
MyGroceryList requires iOS 17 or later and runs on iPhone and iPad. It is optimised for the latest hardware but performs well on any device that can run iOS 17.
Still need help?
Send us a message and we'll get back to you within one business day.
🔒 Privacy Policy
Last updated: March 2026
✓ No account required
✓ No ads
✓ No data sold
✓ Data stays on your device
✓ iCloud synced only to your Apple ID
Data We Collect
MyGroceryList does not collect any personal data. All grocery lists, categories, history, and scanned product information are stored locally on your device and, if you have iCloud enabled, synced privately to your own iCloud account. We have no access to this data.
Third-Party Data
When you scan a barcode, the app queries the Open Food Facts API (openfoodfacts.org) using the barcode number. This request is made directly from your device to Open Food Facts. We do not proxy, log, or retain these requests. Please review the Open Food Facts privacy policy for information on how they handle API requests.
Voice & Speech Recognition
The voice input feature uses Apple's on-device Speech Recognition framework. Audio is processed by Apple in accordance with their privacy policy. MyGroceryList does not record, store, or transmit any audio or speech data.
Camera
Camera access is used solely for barcode scanning within the app. No images or video are stored or transmitted.
iCloud
If you use iCloud sync, your grocery data is stored in your personal iCloud Key-Value Store (iCloud Drive). This data is end-to-end encrypted by Apple and accessible only to devices signed in to your Apple ID. We do not have access to your iCloud data.
Analytics & Advertising
The app contains no analytics SDKs, advertising networks, or third-party tracking of any kind.
Contact
For privacy questions, please use the contact form above or email us at privacy@mygrocerylist.app.
📋 Version History
1.2
March 2026
NewProduct thumbnails on shopping list rows for scanned items
NewImage caching for instant photo loading
NewNutrition info now shown for all Nutri-Score grades (not just D/E)
NewTap any scanned item row to open nutrition details
ImprovedSwitched to Open Food Facts v2 API with explicit field requests
ImprovedBetter product name resolution — now uses English name for US products
FixedCategory filter logic for international tags
1.1
February 2026
NewiCloud sync via Apple ID across all your devices
NewHealthier alternatives with one-tap Replace for D/E rated products
NewShopping progress toggle — compact pill expands to full progress card
NewStored nutrition data saved with each scanned item
NewNutri-Score badge shown on every scanned item in the list
ImprovedVoice input redesigned: two-step flow with category picker grid
FixedVoice retry now always starts a fresh session
1.0
January 2026
NewInitial release
Barcode scanner with Open Food Facts nutrition data