How we decide

Where our answers come from

Every verdict in this library and in the app comes from a human-curated reference table cross-checked against recognised halal certification bodies. AI reads the label; it never decides the ruling. When the table has no confident entry, we say so instead of guessing.

Last reviewed 2026-09-06.

The split that matters: reading versus ruling

These are two different jobs, and we deliberately keep them apart.

Reading is a machine problem. A label might say E471, E 471, mono- and diglycerides of fatty acids, or emulsifier (471) — all the same thing, printed four ways, sometimes at an angle in bad light. OCR and a normalisation layer handle that, mapping whatever is printed onto a canonical entry.

Ruling is not a machine problem, and we don't treat it as one. Once an ingredient is identified, the verdict is a straight lookup in a fixed, human-curated table. There is no model deciding whether pork gelatin is permissible. If the lookup misses, the answer is not checked — never a guess dressed up as a pass.

This is why the app can be wrong about what it read, but not about what the reference says once it has read it. Those are very different failure modes, and only one of them is dangerous.

What we cross-check against

Every entry records where its ruling came from. Some rest on a primary text or a published fatwa from a recognised body; others on certifier or standards guidance. Where we still rely on aggregated material not yet traced to a single primary source, we say so rather than quietly present those entries as settled.

The bodies and standards behind the current library include JAKIM (MS 1500:2019), the Halal Food Authority, IFANCA, SANHA, the Halal Monitoring Committee, the Federal Territory Mufti of Malaysia, Jordan's General Iftaa' Department, MUI Indonesia, and the UPM Halal Products Research Institute, alongside the four Sunni schools where a question turns on fiqh rather than on food science.

What we do when the authorities disagree

We do not average them and we do not pick a favourite. The app takes the strictest reviewed position as its verdict, and the library shows you the others by name, with their reasoning and a link to the ruling.

E120 is the clearest case. We mark cochineal haram, following the majority treatment of land insects. But MUI Indonesia permits it by analogy with locusts, and Jordan's Iftaa' Department permits transformed E120 under conditions. Both of those are real positions held by real bodies, and hiding them would be a kind of lying by omission. They are printed on the E120 page next to ours.

The same applies to gelatin, where the schools genuinely differ on how far istiḥāla — complete transformation — can purify a prohibited substance, and to rennet, where the Hanafi position on non-zabiha rennet differs from the Shafi'i one. If your school or your local authority takes the more permissive view, that view should override ours. We are trying to tell you what the question is, not to close it.

The four answers

We use four, and the last two are the point of the whole project.

  • Halal — every ingredient we could check matches as permissible. 12 entries in this library.
  • Uncertain — the ingredient exists in the table but its source genuinely varies, most often plant versus animal. We flag it and tell you what to ask. 34 entries.
  • Haram — contains something not permissible under the references we check. 4 entries.
  • Not checked — the product isn't in our records, or the label couldn't be read with confidence. An absence of data is never rendered as a green light.

Most halal scanners collapse this into a yes or a no, because two answers make a cleaner screenshot. It also means an emulsifier that could be beef tallow or could be palm oil gets waved through as fine. We would rather hand you a question than a wrong answer.

Why so many entries say "uncertain"

Because that is the truth about modern food manufacturing. An E-number is a functional category, not a recipe: E471 describes what the additive does, not what it was made from. The same code covers palm-derived and tallow-derived versions, and the label is not required to tell you which. Marking those halal would be guessing in your favour, and marking them haram would be guessing against a product that is probably fine. Neither is honest.

The rule that decides the close calls

An unnamed source stays uncertain. We only move an ingredient toward halal when a plant, microbial or otherwise permissible origin is actually stated — never because it is the commercially likely one.

E471 is plant-derived most of the time. E153 is plant-derived most of the time. We still mark both uncertain, because "most of the time" is a fact about supply chains and you are asking about the packet in your hand. A verdict that is right 90% of the time is not a verdict, it is a bet we would be placing with your food.

What this is not

Best-effort guidance compiled from sourced references — not a religious ruling and not a certification. Schools of thought differ, and manufacturers change formulations without notice. Please verify with the producer or your local authority when it matters.

We are not a certification body and we do not issue rulings. We compile what published references say, show our working, and cite the sources on every page so you can check us. Schools of thought differ on several ingredients in this library — where they do, we say so in the entry rather than picking a side silently.

When we're wrong

Formulations change, references get updated, and we make mistakes. Every entry carries a review date, and corrections go to the same table the app reads, so a fix here is a fix in the aisle. If you find something wrong, email us — please include the product and where you saw it, and we'll re-check the entry.

One ingredient down.

The same table, in your pocket. A typical label lists thirty more. Point the camera and the app checks every one of them in about three seconds — free, no account, and it works offline in the aisle where the signal doesn't.