How HalalPin works

We read the ingredient panel on a Korean food label and tell you what is in it. This page explains what we actually hold, how we decide, and what we still do not know.

What the database holds

Most of what we store lets us recognize a word. A much smaller core actually rules on it. Those are different things, and keeping them apart is the single most important decision in this system.

Recognized
55,965
words we can read on a label — no judgement attached
Ruled on
193
substances a reviewer has actually ruled on
Published
3
search terms live in the app right now
The exact breakdown
ingredients
57
E-numbers
93
Korean regional products
43
animals (reference, not matched)
60
recognition-only terms
55,965

Where the recognition terms come from

식품원료 — food raw materials
43,594
수입식품 원료 — imported food ingredients
11,515
식품첨가물 기준·규격 — additive standards
856

All three are public registers published by Korea’s Ministry of Food and Drug Safety. They tell us a word exists and what it names. None of them says anything about whether a food is permissible — that is a different question, asked of different documents.

What those registers do tell us

register did not say
39,559
plant
14,342
animal_marine_undetermined
1,317
animal_land_slaughter_unknown
343
microbial
294
egg
62
dairy_milk
37
animal_porcine
7
animal_blood
3
dairy_undetermined
1

Where a register names what a substance is — a plant, a fish, a microbe — we record that, because origin is chemistry and can be cited. Where it says nothing, we record nothing. Thousands of the terms above sit in that group, and it is honest rather than embarrassing: guessing an origin the document never stated is how a reference starts inventing things.

“Published” is small because almost every row is still a draft awaiting review. That number is the one we are working to move, and inflating it would defeat the purpose of having it.

How a label becomes a verdict

Every word on the panel is looked up on four lists. Three of them carry a ruling. The fourth — vocabulary from the government registers above — normally only proves we know the word. There is exactly one way it can say more: where a register recorded what the substance is made from, and a reviewer has verified every school’s position on that kind of origin — or, if you told us which school you follow, that school’s position — the word inherits that ruling. 48 of 80 of those positions are verified today; a word whose class has not passed that review still only proves we know the word.

밀가루, 팜유, 정제염, 젤라틴
the label, split into words
Ingredient namesrules
e.g. 젤라틴
the substance, in Korean
Aliasesrules
e.g. gelatine
other spellings of the same thing
Regional productsrules
e.g. 고추장
Korean foods with their own ruling
Reference termsrecognizes only
e.g. 밀가루
register vocabulary — rules only via a fully reviewed origin
Coverage
counts all four — how much of the label we could read
The verdict
counts only ruled words — a register word rules solely through a verified origin

That split is why we can read a label perfectly and still refuse to answer. Two separate things have to be true: enough of the label was read, and something on it was actually ruled on.

Read 6 words of 12
50% read4 rulednot enough data

Below 80% we have no basis to clear a product, however clean the part we read looked.

Read 11 words of 11, none of them ruled
100% read0 rulednot enough data

Full coverage, judged by nothing. Recognizing a word is not clearing it.

Read 10 words of 11, one of them 젤라틴
91% read1 ruledcontains gelatin — check the source

Enough of the label read, and a real finding to report.

The vertical line is 80% coverage. Nothing below it is ever answered “halal” — a false clearance is the worst thing this system could produce.

How we categorize

“Gelatin is doubtful” is really two claims stacked on top of each other: one about what gelatin is made from, and one about what that origin means. They need different evidence, so we record them separately.

Layer 1
What is it made from?

One of 20 fixed classes — plant, mineral, microbial, fish, a sea creature that is not a fish, land animal of undisclosed species, pig, milk, rennet, insect, egg, and so on. Where the source says only “marine” or only “dairy”, there is a class that says exactly that and no more.

Chemistry. Citable against a national standard.

Layer 2
What does each school rule about that origin?

Four schools × 20 classes = 80 positions. 48 reviewed and cited; 32 researched and waiting on review.

Jurisprudence. A different kind of claim, and a different ceiling of proof.

never automatic — a person decides, and signs for it
Published
What the app tells you

Permissible, not permissible, or doubtful — with the reason, and what would resolve it.

Changing this sends a row back for review. That is intended.

The 20 origin classes
  • plant
  • mineral
  • synthetic
  • microbial
  • alcohol_derived
  • animal_porcine
  • animal_blood
  • animal_land_dhabiha
  • animal_land_undetermined
  • animal_land_slaughter_unknown
  • animal_marine_fish
  • animal_marine_non_fish
  • animal_marine_undetermined
  • insect_body
  • insect_secretion
  • egg
  • dairy_milk
  • dairy_rennet
  • dairy_undetermined
  • human

A class is deliberately never wider than its evidence. If a source says only “animal fat”, the row records an animal of undisclosed species — not pork. Naming the pig would assert a commercial route no document stated.

That is also why several of them come in threes. A fish is permitted by all four schools and a shrimp is not permitted by one of them, so a single “marine” class had to answer “it depends” for sardines. Milk is permitted by all four on explicit scripture and the entire dairy disagreement is about rennet, so a single “dairy” class had to call milk contested. Splitting them moves the question to where it belongs — what the substance actually is — and leaves an undetermined class for the labels that never say.

Where the schools disagree

Four schools of Islamic law reach different conclusions about the same animal. That is not a gap in our data — it is the actual state of the scholarship, and flattening it into one answer would mean quietly choosing a school on your behalf.

AnimalHanafiShafiʻiMalikiHanbali
Shrimpdisputedhalalhalalhalal
Crabdisputedhalalhalalhalal
Lobsterdisputedhalalhalalhalal
Horsemakruhhalalmakruhhalal
16 of the 60 animals we hold have the four schools disagreeing. We show all four rather than picking one.

What we don’t know yet

A reference this young should say where it is weak. Four things are true right now, and we would rather you read them here than discover them.

Figures generated 2026-09-18 07:33 UTC.