Best app to check ingredients: food and cosmetics
The best app to check ingredients depends on which label you are holding. Yuka and LabelPeek cover food and cosmetics in one product; Think Dirty and INCIDecoder cover cosmetics only; EWG covers both, across two separate databases. That split is not laziness — the two sides run on different kinds of database.
This page compares those five on what they actually read, what they hand back, and where each one stops. No app here is called good or bad; the differences that matter are structural, and they are visible in the data each tool has to maintain.
Why one app rarely covers food and cosmetics equally well
The two halves of an ingredient check run on incompatible data. A food check starts from a barcode, which is worth nothing unless something maps that number to a declared ingredient list. A cosmetic check starts from the printed list itself, already written in a standardised naming vocabulary. Different problem, different database.
Cosmetic labels use INCI names, a shared convention that gives one material one spelling on every carton in every country. That means a cosmetic checker needs a dictionary: a few thousand names, alias handling for the awkward cases, and rules for the brackets. A food checker needs an inventory: millions of packaged items keyed by barcode, each with a declared list that changes whenever the manufacturer reformulates.
| What the tool needs | Food label | Cosmetic label |
|---|---|---|
| Starting point | A barcode, or the ingredient panel typed out | The printed INCI list |
| Database behind it | Barcode-to-product index over millions of items | Vocabulary of ingredient names, in the low thousands |
| How it goes stale | Every reformulation and every new package | Slowly; INCI names outlive the products using them |
| Runs in a plain browser | No, the lookup needs a server | Yes, matching happens on your device |
A cosmetics checker is a dictionary. A food checker is a warehouse inventory. Confusing the two is why so many apps are convincing on one shelf and thin on the other.
The five checkers at a glance
Coverage is the first filter and input method is the second. Two of these five read a barcode first, one reads a pasted list, one is a searchable reference rather than a scanner, and one reads pasted text on the web and the label through a camera in the app. The output formats are just as different.
| App | Food | Cosmetics | How a product gets in | What comes out |
|---|---|---|---|---|
| Yuka | Yes | Yes | Barcode scan | 0–100 score, colour band, suggested alternatives |
| Think Dirty | No | Yes | Barcode scan or product search | 0–10 rating built from component scores |
| INCIDecoder | No | Yes | Paste the list, or open an existing product page | Per-ingredient explainer, no overall score |
| EWG | Yes, separate database | Yes, separate database | Search within Food Scores or Skin Deep | 1–10 score from nutrition, ingredient concerns and degree of processing in Food Scores; hazard entries in Skin Deep |
| LabelPeek | Yes | Yes | Paste the list on the web, camera in the app | Recognised count, flagged entries, unrecognised names |
If groceries are the only labels you check, the narrower roundup of food scanner apps for groceries goes further into barcode coverage and offline behaviour than a cross-category comparison can.
Five ingredient checker apps, one at a time
Each entry below states what the tool reads, what database sits behind it, and the specific situation where it returns nothing useful. Nothing here is a judgement about the companies or their data quality — only a description of what each design can and cannot do.
Yuka
Yuka is the widest-known scanner that genuinely covers both shelves: food and cosmetics, one app, one barcode workflow. Point the camera at a barcode and it returns a 0–100 score, a colour band and a suggested alternative in the same category. The reach comes from a large product database, and the limit comes from the same place — a package that is not in the database, or a loose item with no barcode at all, produces nothing. The score is also a single composite number, so the reasoning behind a rating has to be unpacked on a second screen. Its popularity is why an entire category of tools now positions itself against it, compared in our roundup of alternatives to the Yuka app.
Think Dirty
Think Dirty is cosmetics and personal care only, and it is built the way a food scanner is built: barcode first, product database behind it. Scan a bottle and it returns a 0–10 rating assembled from component scores, with a per-ingredient breakdown underneath. Because the model is product-centric rather than text-centric, coverage is the binding constraint — an indie brand, a regional line or a formula launched last month may not resolve to anything, and the app cannot fall back to reading the list on the carton in front of you. For a category where new products appear constantly and reformulation is quiet, that gap shows up more often than the score itself does.
INCIDecoder
INCIDecoder is the clearest working demonstration of the argument above: a cosmetics reference that lives on the web, needs no app, and works because a cosmetic label is already a list of standardised names. Paste an ingredient list and it builds a decoded page, one entry per ingredient, each linking to an explainer covering what the material does in a formula. There is no overall score and no verdict, which is a design choice rather than an omission. What it does not do is food: no barcode lookup, no packaged-goods database, nothing on additives. Treat it as a dictionary you read, not a scanner you point.
EWG Skin Deep and Food Scores
EWG runs both verticals, and the way it runs them is the best evidence for the structural point. Skin Deep handles personal care, Food Scores handles packaged food, and they are separate databases with separate interfaces and separate scoring, under one organisation. Both return a 1–10 hazard score with category detail underneath. That score is EWG’s own methodology, not a regulatory rating, and it is worth knowing which of the two you are actually inside — the same search box does not span both. The databases are also proprietary, which is why other tools cite EWG rather than reuse it.
LabelPeek
LabelPeek covers both shelves but changes mechanism between them, because the underlying data does. On the web, you paste the ingredient text and matching runs in your browser: the pore-clogging ingredients checker matches a published cosmetic list, and the ultra-processed food checker matches a hand-written additive dictionary carrying regulatory references. In the app, the camera reads the label so you do not retype it. The output is three-state rather than two: recognised and flagged, recognised and not on the list, and — the part most tools omit — not recognised at all, reported as a count instead of quietly folded into a clean result.
How to pick one in under a minute
Start from the label in your hand rather than from a features table. The decisive questions are whether the product has a scannable barcode, whether you need one number or the reasoning behind it, and whether you are willing to type. Four checks settle it faster than any comparison chart.
Step 1
Name the shelf
Groceries only, bathroom shelf only, or both. Cosmetics-only tools go deeper on ingredient explanations because they only have to maintain a vocabulary.
Step 2
Check the barcode
A sealed box in an aisle favours a barcode scanner. A decanted product, a sample, a foreign package or an online listing favours a tool that reads pasted text.
Step 3
Decide what output you want
A single score is quick and compresses the reasoning. A per-ingredient breakdown is slower and shows you which line triggered the result.
Step 4
Ask what happens on a miss
Find out what the tool prints when it cannot resolve something. A blank result and a clean result look identical, and only one of them is honest.
Where LabelPeek is the wrong choice
LabelPeek is the wrong tool in a supermarket aisle when you want a verdict from a barcode. There is no barcode-to-product index behind it on the web, so the ingredient text has to reach the tool some other way. Where it earns its place is the opposite case: a label in front of you and no database entry for the product.
LabelPeek
Reads ingredient text — pasted on the web, photographed in the app — and matches it against a published list printed on the same page. Reports how many names it could not read.
Barcode-first scanners
Resolve a scanned barcode against a product database and return a score in about a second, with an alternative product suggested in the same category.
Coverage and honesty pull in opposite directions here, and the trade is worth stating plainly. A database-backed scanner answers instantly for products it knows and says nothing for products it does not. A text-matching tool answers for anything with a printed list, and pays for that with an extra step and no headline number.
What no ingredient checker can tell you
No checker can tell you how a product will behave on your skin or in your diet, because none of them knows concentration, formulation or you. What a checker can do honestly is report membership: this name appears on that published list, that name does not, and these names could not be read at all.
Concentration is invisible
An ingredient list is ordered, not quantified. The same material can sit at 15 per cent or at 0.1 per cent and appear identically on the carton.
Lists disagree with each other
No regulator issues a comedogenic list. Every published one is a private compilation, so an ingredient flagged by one reference is absent from the next.
Databases age quietly
A reformulation changes the package long before it changes the database entry. A confident answer from a stale record is still a stale record.
The one category of hard claim an ingredient checker can make is regulatory, and regulatory facts are jurisdictional rather than universal. Titanium dioxide is the cleanest example: removed from the EU list of permitted food additives by Regulation (EU) 2022/63, effective 7 February 2022, and still permitted in the US at up to 1% by weight of the food under 21 CFR 73.575. The same white pigment, two opposite statuses, one date.
1%
Colour additives show the same pattern. Under Regulation (EC) No 1333/2008, Annex V, products sold in the EU that contain E129 must carry the statement “may have an adverse effect on activity and attention in children”, a labelling duty with no US equivalent. For Red 3, the FDA revoked the food authorisation on 15 January 2025, with the ban taking effect 15 January 2027 for food and 18 January 2028 for ingested drugs, per 90 FR 4628 (16 Jan 2025) and 21 CFR 74.303.
A tool that reports which of those documents applies to a name on your label is making a checkable statement. A tool that turns the same label into a single number is making a judgement call, and judgement calls are where two reputable apps hand you two different answers about the same box.