What Makes a Moisturizer Non-Comedogenic? A Data-Driven Breakdown

What Makes a Moisturizer Non-Comedogenic? A Data-Driven Breakdown

Published Jul 2, 202614 min read

A product team ships a "non-comedogenic" filter on their skincare app. The badge looks authoritative. Then a customer with acne-prone skin buys a moisturizer the filter cleared, breaks out within a week, and posts a one-star review calling the label misleading. The team scrambles to audit the logic — and discovers the badge was never backed by anything reproducible. Someone had copied a supplier's marketing claim into a database field and called it a feature. That failure traces to an uncomfortable fact: the word non-comedogenic is not regulated. In the United States, there are no federal regulations or FDA rules governing use of the term on moisturizers or cosmetics, so brands self-declare it, according to Healthline and Pandhys.

If you are building an ingredient scanner, a DTC product page, a catalogue enrichment pipeline, or a compliance feature, you need a defensible, reproducible definition of a non comedogenic moisturizer — not marketing copy inherited from a supplier. This breakdown covers the ingredient-level signals that actually predict pore-clogging (comedogenicity scores on a 0–5 scale, irritancy, formulation context) and how to compute the classification programmatically at scale, instead of eyeballing INCI lists one product at a time.

Overhead flat-lay of a white unbranded moisturizer jar on a clean neutral surface, beside a laptop displaying JSON API response data and a printed INCI ingredient list. Soft, even studio lighting, top-down angle. Conveys the bridge between physical p

Table of Contents

Why "Non-Comedogenic" Is a Claim, Not a Standard

There is no legal or regulatory definition of "non-comedogenic." In the US, no FDA rule governs the term on moisturizers or makeup, and brands self-declare the claim without any statutory backing, per Healthline. That single fact reshapes how you should treat any label you inherit from a supplier feed: it is an assertion, not a certification. Nothing forces the claim to be true, and nothing audits it after the fact.

The regulatory nuance runs one level deeper. Authorities may describe a comedogenic ingredient as one known to clog pores, but they do not define a mandatory exclusion list of ingredients that must be absent for a product to legally carry the "non-comedogenic" label, and they specify no standardized testing or enforcement mechanism, according to Pandhys. Pandhys characterizes the claim as "totally unregulated" — companies can apply it without watchdog oversight. So even a brand acting in good faith has no official yardstick to measure against.

The ratings still circulated today trace to the rabbit ear assay (REA), which uses the external ear canal of rabbits to assess the comedogenic potential of topical ingredients. Albert Kligman, MD, a dermatologist and acne researcher, helped pioneer this test, and his work remains foundational to the ingredient-level rating systems you will find referenced across the industry, per Pandhys and the Morris & Kwan rabbit ear model paper. The scores you'd program against are the descendants of animal-model observations from decades ago.

That origin matters because REA does not map cleanly onto modern formulations. Dermatologists at an American Academy of Dermatology (AAD) international symposium concluded that a negative REA result suggests an ingredient is unlikely to be comedogenic in human skin — positioning the model as a screening tool, not a definitive predictor of human outcomes, as summarized in Morris & Kwan. A negative result tells you an ingredient is probably safe. A positive result tells you far less, because animal and human skin diverge significantly in response.

The modern academic verdict is blunter still. A 2025 peer-reviewed review, Comedogenicity in Cosmeceuticals: A review of clinical relevance (ScienceDirect), concludes that the term "noncomedogenic" is not backed by standardized guidelines, that current testing relies heavily on animal models, and that its label use is potentially unreliable and of limited clinical significance. That is the gap between marketing language and a regulated standard, stated by researchers with no product to sell.

Here is the thesis the rest of this breakdown builds on. Because no standard exists, the only reproducible approach is ingredient-level scoring aggregated across a full formulation. You cannot outsource the judgment to a label, because the label answers to no one. You have to compute it — which makes classification a data problem, not a labeling one.

A non-comedogenic label is a formulation outcome, not a single ingredient property — which is exactly why it can't be eyeballed from an INCI list.

The Ingredient Signals That Actually Predict Pore-Clogging

If you're going to compute a classification instead of trusting a badge, you need to know which data points carry signal. These are the structured fields worth pulling for every ingredient in a formulation.

Comedogenicity score (0–5). The primary signal. The scale runs from 0 (no pore-clogging potential) to 5 (high probability of clogging pores), per Platinum Skincare. Vinevida's descriptors map cleanly onto each rung: 0 "will not clog pores," 1 "highly unlikely," 2 "moderately unlikely," 3 "moderate likelihood," 4 "fairly likely," and 5 "highly likely." That descriptor language is what you'll eventually surface to users, so keeping the numeric-to-language mapping explicit pays off later.

Irritancy score (0–5). A distinct axis from comedogenicity. An ingredient can be non-pore-clogging yet irritating, or the reverse. Classifying a moisturizer as skin-friendly requires both signals: irritancy governs sensitive-skin suitability, while comedogenicity governs breakout risk. Treat it as a separate structured field the analysis returns, not a subcomponent of the comedogenicity number.

CAS/EC identity resolution. The same ingredient shows up under many names. Resolving each name to a canonical CAS or EC identifier ensures you score the actual substance rather than a near-namesake. Skip this step and a lookup can silently miss or mismatch — returning a clean score for a compound that isn't the one in the jar.

Synonym normalization. INCI names, trade names, and common names diverge. "Cetyl alcohol," a fatty alcohol, reads entirely differently on risk than a fatty ester with a similar-sounding name. Normalizing synonyms to one canonical entry prevents duplicated or missed scores when the same substance appears in two different naming conventions across your catalogue.

Structural and chemical-subclass flags. Testing showed that large or branched alcohol-based ingredients such as isocetyl alcohol and oleyl alcohol, along with similarly structured fatty acids like lauric acid and myristic acid, tend toward higher comedogenicity, according to Acne.org. That pattern supports feature-flagging by chemical subclass — a useful fallback when an exact per-ingredient score is missing but the structural family is known.

Overall safety_status (formulation roll-up). The aggregate verdict field — the output of combining every per-ingredient signal above. The how of that aggregation gets its own section below. Here it's just the destination: the single field your UI ultimately reads.

Common Culprit vs. Safe-Bet Ingredients: A Working Reference

A representative reference table anchors the abstract scale to real ingredients you'll actually encounter in moisturizer formulations.

Ingredient Comedogenicity (0–5) Descriptor Typical role
Argan oil 0 Will not clog pores Emollient
Squalane 0–1 Will not clog pores Emollient / occlusive
Sunflower oil (non-refined) 0–1 Highly unlikely Emollient
Safflower oil 0–1 Highly unlikely Emollient
Babassu oil 1–2 Highly/moderately unlikely Emollient
Castor oil 0–1 Highly unlikely Humectant/emollient
Avocado oil 3 Moderate likelihood Emollient (caution)
Isocetyl alcohol High (branched) Higher comedogenicity Emollient/solvent
Lauric acid High (fatty acid) Higher comedogenicity Surfactant/emollient
Myristic acid High (fatty acid) Higher comedogenicity Surfactant/emollient

The numeric benchmarks give you fixed reference points. Argan oil rates 0, avocado oil rates 3, and babassu oil rates 1–2 on the comedogenic scale, per Herbal Dynamics Beauty. The "safe-bet" tier — sunflower oil (non-refined), safflower oil, squalane, babassu oil, and castor oil — sits at 0–1, which is why those rows carry the lowest risk flags, according to Curology. The higher-risk rows illustrate the structural pattern: branched alcohols and specific fatty acids skewed higher in testing, per Acne.org.

Close-up of two skincare oil bottles side by side on a marble surface — one labeled with a low score, one shot to imply higher risk — with a small printed rating card beside each. Shallow depth of field, macro angle, illustrating the "not all oi

A raw ingredient score is not the final answer, and this is the caveat that bridges into aggregation. Context can override the number. An ingredient rated 3 may be acceptable in a wash-off cleanser but should be avoided in a leave-on moisturizer aimed at acne-prone users, per Acne.org. There's also a reliability limit worth encoding as uncertainty rather than ignoring: the same ingredient may be rated differently across lists because the scale is not standardized, per Healthline. Petrolatum is the cautionary example — an early animal-model concern, later reclassified as non-comedogenic, according to Naturium. The scale evolves, so a non comedogenic moisturizer classification built on a single frozen rating source will drift out of date.

From Single Ingredient to Whole Formulation: How Scoring Aggregates

Individual scores are inputs. A defensible verdict comes from combining them, and that combination is where most naive implementations go wrong. Here is the logic for turning a raw INCI list into a formulation-level classification through structured INCI list analysis.

1. Parse and normalize names. Split the INCI string, strip formatting artifacts, and normalize each token toward a canonical form through synonym resolution. Supplier-provided lists vary wildly in spelling and naming convention, so this step prevents the same ingredient from being scored twice or missed entirely.

2. Resolve identities (CAS/EC). Map each normalized name to a canonical CAS or EC identifier so you score the correct substance. Ambiguous or unmatched tokens are held aside for review, not silently dropped — a dropped ingredient is an invisible gap in your verdict.

3. Fetch per-ingredient scores. Retrieve the comedogenicity (0–5) and irritancy (0–5) values for each resolved ingredient. This is the raw material the roll-up operates on.

4. Weight by formulation context. Apply the leave-on versus wash-off distinction — a score-3 ingredient is more concerning in a leave-on moisturizer than in a rinse-off cleanser, per Acne.org. Position matters too: INCI lists are ordered by descending concentration, so an early-listed high scorer carries more formulation weight than a trace ingredient near the end. Weighting by list position separates a headline ingredient from a fragrance-level additive.

5. Roll up to a formulation-level safety_status. Combine the weighted per-ingredient signals into a single verdict field plus severity labels. The classification reflects the whole formulation's behavior, which echoes the 2025 review's recommendation to focus on overall formulation behavior rather than isolated ratings, per Comedogenicity in Cosmeceuticals (ScienceDirect). One clean field, backed by an auditable chain of steps behind it.

One high-comedogenic ingredient near the top of an INCI list can outweigh ten benign ones near the bottom.

Doing This at Scale: Manual Lookup vs. Programmatic Analysis

Four approaches are available when a product team needs to classify moisturizers. The table below compares them on observable properties, not opinion.

Criterion Manual spreadsheet Scraping competitor sites In-house database Ingredient analysis API
Coverage Limited to entries you add Depends on scraped site Whatever you populate 25,000+ ingredients
Regulatory sourcing Manual, ad hoc Second-hand, unverified Your responsibility FDA, EU CosIng, Health Canada
Maintenance burden High (manual updates) High (breaks on changes) High (you own the data) Vendor-maintained
Consistency Varies by researcher Inherits source errors Depends on process Normalized for programmatic use
Latency at scale N/A (manual) Variable Depends on infra Sub-100ms median

The manual and scraped approaches share a structural flaw. Because the scale is not standardized and lists rate the same ingredient differently, per Healthline, a hand-built spreadsheet inherits whichever list you happened to copy — and freezes it. Scraping compounds the problem: you inherit source errors you can't audit, and the pipeline breaks the moment a competitor changes their markup. Neither scales past a few hundred products without becoming a maintenance liability.

Programmatic analysis through an ingredient analysis API is the maintainable path for a live product catalogue. Two endpoint patterns cover the common cases: a single-ingredient lookup, GET /v1/ingredients/{name}, for on-demand UI queries, and a batch analyzer, POST /v1/analyze, for scoring an entire formulation in one call. The batch endpoint is what you'd wire into a catalogue enrichment pipeline; the single lookup fits an interactive scanner where a user taps one ingredient.

Evaluate any such API on concrete criteria rather than marketing. Credit-based pricing that charges only on successful matches means unmatched ingredients cost nothing, which matters when you're scoring messy supplier feeds full of typos. Sub-100ms median latency and a 99.9% uptime SLA determine whether you can run analysis inline on a product page or have to precompute overnight. Coverage of 25,000+ ingredients normalized from FDA, EU CosIng, and Health Canada sets the ceiling on how many products you can actually classify. Official SDKs on npm and PyPI plus a full OpenAPI 3 contract at api.dermalytics.dev decide how fast your team integrates. These are the same criteria you'd apply to any data vendor.

One honest caveat belongs in the evaluation. Because the ratings themselves have limited clinical relevance and individual variability is real, per the 2025 ScienceDirect review and Healthline, the right tool surfaces the underlying scores and severity labels so you set the policy. It should not hide the uncertainty behind a single boolean — that just recreates the unregulated-label problem in your own stack.

A good ingredient API surfaces the scores and lets you set the policy — it doesn't bury the uncertainty behind a single boolean.

Implementation Blueprint: Classifying a Moisturizer in Your Product

These are build steps a developer can act on today, each with the reasoning behind it.

1. Install the SDK or read the contract. Run npm i for the Node SDK or pip install for the Python package, or work directly against the OpenAPI 3 contract at api.dermalytics.dev. Starting from the contract lets you generate typed clients in languages the official SDKs don't cover.

2. Send the INCI list to POST /v1/analyze. Pass the full formulation in one batch call rather than looping single-ingredient lookups. Batch analysis returns the aggregated safety_status alongside the per-ingredient fields, so you get both the verdict and the evidence in a single round trip.

3. Define your threshold policy explicitly. The common convention treats scores 0–2 as non-comedogenic, flags ingredients rated 3 or higher, and avoids 4–5 in leave-on products, per Platinum Skincare, Herbal Dynamics Beauty, and Healthline. This cutoff is a pragmatic convention, not a regulatory standard — so document it in code and treat it as configuration, not a constant.

4. Map safety_status and severity labels to UI copy. Translate numeric scores into user-facing language using descriptors like "low clogging risk" and "high clogging risk," drawing on Vinevida's descriptor schema. Keep the mapping visible in one place so support staff can explain exactly why a badge shows what it shows.

5. Handle unmatched ingredients gracefully. Unresolved tokens incur no credit charge under match-based pricing, so surface them as "unrated" rather than defaulting to "safe." An unknown ingredient must never silently pass a non comedogenic moisturizer filter — that's the exact failure that generates one-star reviews.

6. Cache results and monitor against the SLA. Cache per-formulation verdicts to cut repeat calls on unchanged products, and monitor availability against the 99.9% uptime SLA. Re-run analyses whenever your threshold policy changes, since the stored verdict is only valid for the rule that produced it.

Ship the threshold policy first — the label is only as trustworthy as the rule you can explain to a customer.

Non-Comedogenic Classification: Questions Product Teams Ask

Is "non-comedogenic" legally regulated anywhere? No. There are no FDA rules governing the term in the US, and authorities define what "comedogenic" means without mandating an exclusion list or a standardized test for using "noncomedogenic," per Healthline and Pandhys. That's why the classification has to be computed rather than trusted.

Can a product be non-comedogenic for one person but not another? Yes. Non-comedogenic labels don't guarantee breakout-free use, because of individual biological variability and inconsistent testing across lists, per Healthline, and the 2025 ScienceDirect review specifically emphasizes patient-specific variability. Treat the classification as a filter and a signal, not a medical guarantee — and say so in your UI copy.

What comedogenicity score threshold should I use as a cutoff? The widely used pragmatic convention scores 0–2 as non-comedogenic, flags anything at 3 or above, and avoids 4–5 in leave-on products, while a 3 may be acceptable in wash-off products, per Platinum Skincare, Herbal Dynamics Beauty, and Acne.org. Because it's a convention rather than an official standard, make it a configurable parameter, not a hardcoded threshold.

Do irritancy scores affect a non-comedogenic classification? Irritancy and comedogenicity are separate axes. A comedogenic ingredients filter measures pore-clogging risk only, so a genuinely non-comedogenic ingredient can still irritate sensitive skin. If your product targets sensitive-skin users, track irritancy as a parallel signal with its own threshold rather than folding it into the comedogenicity verdict.