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 needsFood labelCosmetic label
Starting pointA barcode, or the ingredient panel typed outThe printed INCI list
Database behind itBarcode-to-product index over millions of itemsVocabulary of ingredient names, in the low thousands
How it goes staleEvery reformulation and every new packageSlowly; INCI names outlive the products using them
Runs in a plain browserNo, the lookup needs a serverYes, 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.

AppFoodCosmeticsHow a product gets inWhat comes out
YukaYesYesBarcode scan0–100 score, colour band, suggested alternatives
Think DirtyNoYesBarcode scan or product search0–10 rating built from component scores
INCIDecoderNoYesPaste the list, or open an existing product pagePer-ingredient explainer, no overall score
EWGYes, separate databaseYes, separate databaseSearch within Food Scores or Skin Deep1–10 score from nutrition, ingredient concerns and degree of processing in Food Scores; hazard entries in Skin Deep
LabelPeekYesYesPaste the list on the web, camera in the appRecognised 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Best for Any product with a visible ingredient list, including new, indie, imported or decanted items that no product database has indexed.

Where it falls short No barcode lookup on the web and no single score, so comparing two sealed boxes at arm length in a shop is slower than with a scanner.

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.

Best for Fast comparison of mainstream packaged goods in a shop, where the barcode is the only thing facing you.

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%

Maximum titanium dioxide by weight of the food still permitted in the US, after the EU removed E171 from its permitted list on 7 February 2022.21 CFR 73.575; Commission Regulation (EU) 2022/63, 2026

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.

Common questions

What is the best app to check both food and cosmetic ingredients
Yuka and LabelPeek both cover food and cosmetics in one product, and EWG covers both across two separate databases. Yuka leads with a barcode scan and a 0–100 score; LabelPeek leads with a pasted or photographed ingredient list and reports how many names it recognised.
Can I check ingredients without downloading an app
Cosmetic ingredient lists can be checked in a browser with no app, because a cosmetic label prints the full INCI name list and matching those names against a published reference needs no server. Food barcodes are different: resolving one requires a product database, which a static page cannot carry.
Why do two ingredient checkers disagree about the same product
Ingredient checkers disagree because they run different reference lists and different scoring rules, and because their product databases were updated on different dates. A reformulation reaches one database months before another. For cosmetics there is no official reference list at all, so every published list is a private compilation.
When is LabelPeek the wrong app for me
LabelPeek is the wrong choice when you want a verdict from a barcode rather than from the ingredient panel. LabelPeek reads ingredient text, so a barcode-first scanner such as Yuka is faster in a supermarket aisle. LabelPeek also issues no single score, which some shoppers want for quick comparison.
Is there an official list of pore-clogging ingredients
No regulator publishes or certifies a comedogenic ingredient list. Comedogenicity is not a regulated category anywhere, so every pore-clogging list in circulation is a private compilation assembled from different studies, and two reputable lists can disagree about the same ingredient. Any checker worth using names the list it matches against.