Gluten-Free Labeling: Codex 20 ppm Standard
Gluten-Free (Codex 20 ppm)
For someone with coeliac disease, “gluten-free” on a label isn’t a lifestyle preference — it’s a medical instruction. Get it wrong and you’re not disappointing a customer; you’re harming a patient. The 20 ppm threshold is where that responsibility gets quantified.
Definition
“Gluten-free” is a regulated claim meaning the food contains no more than 20 mg of gluten per kilogram — 20 parts per million. That’s the Codex threshold (CXS 118-1979), adopted across the EU, US, and much of the world.
Key facts
- The 20 ppm line comes from clinical evidence: most people with coeliac disease tolerate this level. It’s a safety threshold, not zero — zero isn’t reliably measurable or achievable in real food production.
- The risk grains are wheat, barley, and rye — plus oats, which are usually contaminated with wheat unless specially produced under controlled conditions.
- Naturally gluten-free foods (rice, plain meat, fruit) can carry the claim, but only if cross-contact is controlled. “Naturally” doesn’t mean “automatically.”
- Validation means ELISA testing, supplier guarantees, dedicated lines or validated cleaning, and tight label controls.
- The claim’s legal homes: EU Regulation 828/2014 and the FDA’s gluten-free labeling rule (21 CFR 101.91).
Why it matters
This is one of the most audited claims in the industry, and rightly so. The damage when it’s treated casually is well documented — a “gluten-free” product made on shared equipment with no validation, no testing, just hope. For the coeliac consumer, that hope is measured in intestinal damage. If you make the claim, you need the full apparatus: controlled ingredients, controlled lines, testing, records. The label is a promise; the system behind it is what keeps the promise.
Sources: Codex Alimentarius; FDA.
Quick reference
| Point | Detail |
| Threshold | ≤ 20 mg/kg (20 ppm) |
| Standard | Codex CXS 118-1979 |
| Risk grains | Wheat, barley, rye (+ contaminated oats) |
| Verification | ELISA, supplier control, line validation |