- 1Check a pack
- 2Result
Check a pack
Paste the list when you can read it. Use the barcode for a candidate pack, then photograph the ingredients if the record is missing, stale, or disagrees with the packet.
Hold the barcode inside the frame
Decoding runs on your device (EAN-13, EAN-8, UPC). Looking up a candidate pack needs a connection and is limited to about 15 product reads per minute.
One clear photo of the ingredients block is enough for most packs. For glare, a curved tin, or tiny type: flatten the pack, shade the light, crop to the text, then add extra photos for a wrap-around list. English and Arabic are detected automatically.
Long, curved or wrap-around label? Take or add another photo, then tap Scan ingredients. Rotate, boost contrast or tighten crop on the selected photo if glare or tiny type is still hard to read.
Ingredient results
Each match shows status, a short reason, evidence confidence, and what to verify next — never a silent pack-wide Halal stamp.
Unmatched or uncertain ingredients mean there is no overall pack verdict. This is not a Halal certificate and not AI certainty. Photos, paste, OCR and history stay on this device; barcode lookup uploads only the number.
Paste a list, scan a barcode, or photograph the ingredients. Results stay ingredient-by-ingredient — never an empty Halal verdict.
Confident matches
Clear Halal or Haram pages with medium/high evidence confidence in our index.
Need a manual check
In our index, but market-dependent, scholarly difference, source-unclear, or low-confidence — open the page before deciding.
Unmatched
Not mapped in our index. Do not treat these as Halal or Haram from this scan — search the site or check the pack / manufacturer.
Ingredient text we used
On this device
Private local history — no account. Favourites stay here. Delete or export anytime. We never store photos.
No scans saved on this device yet.
On-device language counts
Private counts on this device — no account. We never upload photos or full label text. These totals help us add French, German, Malay, Indonesian, Turkish, or Urdu later if unmatched scans show demand. Export JSON includes the same languageStats.