Why buckwheat is not wheat
The word wheat sits inside the word buckwheat, and buckwheat is not a gluten grain at all. Everything difficult about reading an ingredient list by machine is contained in that one sentence.
Buckwheat is a pseudocereal. Botanically it is closer to rhubarb and sorrel than to any grass, it is not a cereal grain, and the resemblance to wheat is entirely a fact about English spelling. A person reading a label knows this within a second. A program searching that label for the letters w-h-e-a-t does not, and will raise the alarm on a bag of soba flour every single time.
It is not an isolated case. Maltodextrin contains the letters of malt, yet it is a starch sugar, not malt. Isomalt, a sweetener made from sugar, contains them too. Three ordinary ingredients, three false alarms, all from the same mistake.
A false alarm is not the harmless error
It is tempting to file over-flagging under caution. Better to warn too often than too rarely, the reasoning goes, and there is something to it — the two kinds of error genuinely are not symmetrical.
But a scanner that cries wolf gets ignored on the day it is right. That is the real cost, and it is paid later, invisibly, on the one product that actually did contain barley malt extract. The second cost is quieter still: a gluten-free diet is already a narrow diet, and an app that puts buckwheat noodles and anything made with maltodextrin or isomalt out of bounds is not protecting anyone. It is just making the week worse for no benefit.
Mask the gluten-free phrases first
The fix is an ordering, not a longer blocklist. GlutenScanning runs the same five steps on every scan, and the fourth one is where the traps get defused.
The barcode is decoded on the phone itself — EAN-13, UPC-A and the other retail symbologies — and no photograph of your shopping leaves the device. The code is matched against the OpenFoodFacts catalogue, an open database of packaged food carrying the ingredient text as printed on the pack. That text is then normalised: case, punctuation, brackets and E-number spellings levelled out, so an ingredient written six different ways is matched once.
Then the masking pass. Phrases known to be gluten-free are matched longest-first and removed from a working copy of the text before any gluten phrase is tested. Buckwheat is longer than wheat, so buckwheat is claimed and deleted before the search for wheat ever runs. Maltodextrin is claimed before malt. Whatever survives is checked against the gluten and allergen catalogues.
That is the entire trick, and it is worth being unglamorous about it: no model, no inference, just doing two lookups in the order that cannot be fooled. Do them the other way round and the shorter, riskier term wins every time.
Then explain, rather than announce
A verdict with no reasoning attached cannot be checked, and anything that cannot be checked eventually gets trusted too much or too little. So the result arrives in plain language first — contains gluten — then the ingredient that triggered it, then every other allergen found, then a confidence score.
The score exists because the evidence varies. A pack whose ingredient list names wheat flour outright is a strong answer. A pack whose catalogue entry is thin, or whose wording is ambiguous, is a weak one, and flattening the two into the same red mark is its own kind of lie. Seeing strong match on barley malt extract rather than a bare warning is what lets you decide whether to put the box back or look at it more closely.
The catalogue behind it covers 45 allergens, gluten included, each tagged high, medium or low risk and listed with the names it hides under in an ingredient list, with the peer-reviewed sources behind each claim available on the allergen's own page. The names gluten hides under covers the opposite failure — the terms that carry gluten without looking like they do.
What the scan still cannot see
Getting buckwheat right is a solved problem. Cross-contact is not. An ingredient list describes what a manufacturer put in deliberately, and says nothing about what arrived from a shared mill, a shared line or a shared scoop — and for grains like oats and buckwheat that is where most of the real exposure sits. A 2025 study of 163 flours found gluten in 84.91% of naturally gluten-free flours sold loose.
Food with no barcode has no ingredient list to read at all. For that, a single photograph of the plate can be analysed instead: the dishes are identified and the allergens each is likely to carry are flagged. It is deliberately weaker evidence — it reads a plate, not a recipe — and worth treating as a range rather than a verdict.
None of this needs an account. The app requires no sign-up, keeps your scan history on your device and has no analytics or tracking, in 35+ languages. That is a claim worth checking in the privacy policy rather than taking on trust.
Common questions
Why would a scanner flag buckwheat as wheat? +
Because the string “wheat” appears inside the string “buckwheat”. An app that searches an ingredient list for bare substrings will match it, and the same trap catches maltodextrin and isomalt against malt. Buckwheat is a pseudocereal, botanically closer to rhubarb than to wheat, and is not a gluten grain.
How does GlutenScanning avoid those false alarms? +
By ordering the matching. The ingredient text is normalised first — case, punctuation, brackets and E-number spellings levelled out — then phrases known to be gluten-free are matched longest-first and removed from a working copy before any gluten phrase is tested. Only what survives that pass is checked against the gluten and allergen catalogues.
Why does longest-first matter? +
Because the gluten-free phrase is usually the longer one. Match “buckwheat” before you look for “wheat” and the trap never springs; do it the other way round and the shorter, riskier term wins every time. The ordering is the whole mechanism.
Is a false alarm really a problem? +
Yes, and it is underrated. A scanner that cries wolf on ingredients that are not gluten gets ignored on the day it is right, and it also shrinks a diet that is already narrow by putting perfectly good products out of reach. Precision and sensitivity are both part of being useful.
What does the confidence score mean? +
It reflects how strong the underlying evidence is. A product whose ingredient list names wheat flour outright is a different kind of answer from one where the catalogue entry is sparse or the wording is ambiguous, so the result never arrives as a bare yes or no — it names the ingredient that triggered it, lists the other allergens found, and carries a score you can weigh.
Scan the next thing you are unsure about
GlutenScanning checks a barcode against 45 allergens, gluten included, names the ingredient behind every verdict, and works in 35+ languages. Free to download, no account required.
Download on the App Store: GlutenScanning for iPhone