kiwi/docs/user-guide/barcode.md
pyr0ball 01aae2eec8
Some checks failed
CI / Backend (Python) (push) Has been cancelled
CI / Frontend (Vue) (push) Has been cancelled
CI / Backend (Python) (pull_request) Has been cancelled
CI / Frontend (Vue) (pull_request) Has been cancelled
fix: recipe enrichment backfill, main_ingredient browser domain, bug batch
Recipe corpus (#108):
- Add _MAIN_INGREDIENT_SIGNALS to tag_inferrer.py (Chicken/Beef/Pork/Fish/Pasta/
  Vegetables/Eggs/Legumes/Grains/Cheese) — infers main:* tags from ingredient names
- Update browser_domains.py main_ingredient categories to use main:* tag queries
  instead of raw food terms; recipe_browser_fts now has full 3.19M row coverage
  (was ~1.2K before backfill)

Bug fixes:
- Fix community posts response shape (#96): add total/page/page_size fields
- Fix export endpoint arg types (#92)
- Fix household invite store leak (#93)
- Fix receipts endpoint issues
- Fix saved_recipes endpoint
- Add session endpoint (app/api/endpoints/session.py)

Shopping list:
- Add migration 033_shopping_list.sql
- Add shopping schemas (app/models/schemas/shopping.py)
- Add ShoppingView.vue, ShoppingItemRow.vue, shopping.ts store

Frontend:
- InventoryList, RecipesView, RecipeDetailPanel polish
- App.vue routing updates for shopping view

Docs:
- Add user-facing docs under docs/ (getting-started, user-guide, reference)
- Add screenshots
2026-04-18 15:38:56 -07:00

1.5 KiB
Raw Blame History

Barcode Scanning

Kiwi's barcode scanner uses your device camera to look up products instantly. It works for UPC-A, UPC-E, EAN-13, EAN-8, and QR codes on packaged foods.

How to scan

  1. Open the Inventory tab
  2. Click the Scan barcode button (camera icon)
  3. Hold the barcode in the camera frame
  4. Kiwi decodes it and looks up the product

What happens after a scan

Product found in database: Kiwi fills in the product name, category, and any nutritional metadata from the open barcode database. You confirm the quantity and expiry date, then save.

Product not found: You'll see a manual entry form with the raw barcode pre-filled. Add a name and the product is saved to your personal pantry (not contributed to the shared database).

Supported formats

Format Common use
UPC-A (12 digit) US grocery products
EAN-13 (13 digit) International grocery products
UPC-E (compressed) Small packaging
EAN-8 Small packaging
QR Code Some specialty products

Tips for reliable scanning

  • Good lighting: scanning works best in well-lit conditions
  • Steady hand: hold the camera still for 12 seconds
  • Fill the frame: bring the barcode close enough to fill most of the camera view
  • Flat surface: wrinkled or curved barcodes are harder to decode

Manual barcode entry

If camera scanning isn't available (browser permissions denied, no camera, etc.), you can type the barcode number directly into the Barcode field on the manual add form.