Data & Methodology
How Beer Check identifies a beer, which sources it consults, and how each dietary verdict is determined.
Barnivore
Vegan / vegetarian status
Open Food Facts
Allergens & dietary tags
Tesseract / OCR.space
Label text extraction
ZXing
Barcode decoding
coeliacslikebeer.co.uk
100% GF brewery list
Tools
Check a BeerProcessing pipeline
Three input methods — all converge on the same multi-source dietary lookup. They differ only in how the beer is identified.
Label photo
AI-powered OCR pipeline
Image upload & cache check
The photo is received as a multipart upload. The backend hashes the image and checks its cache — if the same image was seen recently, the stored result is returned immediately.
Three-stage OCR extraction
- Tesseract OCR — local open-source engine; primary extractor.
- OCR.space — cloud API fallback when Tesseract confidence < 0.85.
- Google Cloud Vision — high-accuracy fallback when configured.
Fuzzy catalog matching
Extracted text is cleaned and token-matched against the beer catalog using Jaro-Winkler similarity. The highest-scoring match above the 60% threshold is selected.
Multi-source dietary lookup
The matched beer feeds into the priority-ordered lookup chain (see Dietary verdicts below). The result is cached against the image hash.
Barcode scan
EAN / UPC lookup
ZXing decode
ZXing decodes the EAN-13, EAN-8, UPC-A, UPC-E, CODE-128, or QR Code from the uploaded image.
Open Food Facts lookup
The EAN/UPC is looked up in OFf. Allergen tags and dietary labels are extracted directly. UPC Item DB is used as an optional fallback.
Barnivore supplement
The OFf product name is also sent to Barnivore to fill any missing vegan / vegetarian status.
Name search
Fastest, most reliable path
Catalog match
The submitted name (and optional brewery) is fuzzy-matched against the catalog. A brewery name acts as a secondary filter to improve precision. Threshold: 60%.
Multi-source dietary lookup
The matched beer goes straight into the same priority-ordered lookup chain as the OCR path — no image processing required.
Dietary verdicts
Sources are consulted in priority order — the first definitive result wins.
Vegan & vegetarian
Barnivore
Has a status entry → Use Barnivore verdict
Open Food Facts tags
Vegan / vegetarian label present → Use OFf label
OFf allergen inference
Allergens present, none animal-derived → 'Possibly suitable'
Cask inference
Identified cask ale, no explicit status → 'Unknown — isinglass risk'
No data
No result from above → 'Unknown'
Barnivore verdicts may reflect a specific format (keg/bottle). Read the full entry for nuance. Cask ale guide →
Gluten-free verdict
OFf explicit GF label
Tagged 'en:gluten-free' → Gluten-free (high confidence)
OFf allergen tags
Allergens present, no wheat/gluten → Possibly GF (medium confidence)
100% GF Brewery list
Brewery confirmed 100% GF → GF — entire range confirmed
Empty allergens ≠ gluten-free. Only an explicit tag or a confirmed GF brewery provides strong assurance. 100% GF breweries →
Other allergens
Allergen data — gluten, wheat, barley, fish, milk, nuts, soya, sulphites, and others — comes directly from Open Food Facts. OFf normalises tags to the EU list of 14 major allergens under Regulation 1169/2011.
For barcode lookups, allergens come straight from the OFf API response. For OCR and name-search lookups, they are fetched from the matched product record — or left empty if OFf has no entry.
OFf allergen data is community-contributed and varies widely. A blank allergens section means no data was recorded — not that the product is allergen-free. Beer is also exempt from full ingredient labelling in many jurisdictions, so even official OFf entries may be incomplete.
Confidence scores
The score (0–100%) reflects how closely the detected beer name matched a catalog entry — not how accurate the dietary data is.
Strong match
Text closely matched a single catalog entry. Generally reliable for well-known beers with complete database coverage.
Likely match
Partial match. Beer was probably identified correctly, but enough ambiguity exists that a different beer could match. Try name search to confirm.
Low confidence
Catalog match failed threshold. System falls back to a direct Barnivore search on the raw OCR text. Results here are less reliable.
Cask ale caveats
Isinglass finings
Traditional cask ales are commonly fined with isinglass — dried fish swim bladders — making them not suitable for vegetarians or vegans regardless of what the label says. Fining agents are not required to be declared.
Why Beer Check cannot tell
Database entries rarely distinguish cask from keg/bottle, and OCR cannot determine the dispense method from label text. If ordering from a handpull, check with the bar or brewery directly.