# We scanned 133 beauty products. Half had a hormone flag.

> Hormone disruptors in beauty products: what the ToxFree team found scanning 133 best-sellers for hormone-linked ingredients, broken down by product type.

Canonical: https://gettoxfree.com/blog/we-scanned-133-beauty-products · Published 2026-10-06 by Peyton Greenwood, founder of ToxFree

Between September 23 and October 5, 2026, we scanned 133 beauty and personal care products, mostly best-sellers from Ulta and the drugstore aisle. Then, on October 6, we re-scored every one of them with the current version of the ToxFree app, so the numbers below all use the same rules.

The short version on hormone disruptors in beauty products: **65 of the 133 products (49%) had at least one hormone flag.** Where those flags showed up, and what they were, is more useful than the headline.

## How we scored them

Each product gets a 0–10 score from the app, plus a verdict: Clean (7 and up), Mixed or Avoid. A **hormone flag** means the label lists an ingredient that regulators or researchers have linked to endocrine (hormone) disruption: parabens, phthalates, UV filters like homosalate and oxybenzone, triclosan, BHA, the silicone D4, or an undisclosed "fragrance" or "parfum" blend.

A flag is a reason to look closer, not proof that a product is harmful. Dose, how much of the product you use and whether it stays on your skin all matter, and the app's score accounts for some of that. We'll say this more than once, because it's the part most "toxic ingredient" content skips.

One honest caveat: these are products we chose to scan, mostly popular ones, not a random sample of everything on the shelf.

## The results by product type

| Product type | Scanned | Average score | With a hormone flag |
|---|---|---|---|
| Sunscreen (chemical) | 6 | 1.8 | 5 (all homosalate) |
| Dry shampoo | 10 | 3.9 | 10 (all fragrance) |
| Lip products | 14 | 4.2 | 7 |
| Body care | 16 | 5.4 | 14 |
| Deodorant | 13 | 5.6 | 10 |
| Hair care | 17 | 5.9 | 11 |
| Face skincare | 33 | 6.0 | 6 |
| Cleansers and makeup removers | 11 | 6.3 | 2 |
| Mascara | 10 | 6.3 | 0 |

## Finding 1: fragrance is the most common flag by far

Almost every flag in body care, deodorant, dry shampoo and lip products came from one word on the label: fragrance (or parfum). In the US, a brand can list dozens of scent chemicals under that single word. Some fragrance ingredients, like the solvent diethyl phthalate, have been linked to hormone disruption, and you can't tell from the label whether a given blend contains them.

That's why the app flags undisclosed fragrance as a precaution rather than as a confirmed problem. It's also why the easiest single swap is usually a fragrance-free version of something you already use. More on what that word can hide in [What "fragrance" on a label can hide](/blog/what-fragrance-hides).

## Finding 2: why did chemical sunscreens score lowest?

Chemical sunscreens scored lowest because five of the six chemical sunscreens we scanned contain homosalate, and the group averaged 1.8 out of 10, the lowest of any category. That's not because sunscreen is bad. It's because homosalate is on the app's hormone list for a specific reason: the EU now caps it at 7.34% and allows it only in face products, after its safety committee found the old 10% limit unsafe. US sunscreens can still use up to 15%.

One example from our scans: Neutrogena Hydro Boost Hyaluronic Acid Moisturizer SPF 50 lists homosalate as an active ingredient and scores 1.5 (Avoid). Please don't stop wearing sunscreen over this. A mineral formula with zinc oxide or titanium dioxide avoids the issue. See [How to choose a non-toxic sunscreen](/blog/non-toxic-sunscreen).

## Finding 3: face skincare was the cleanest category

Face moisturizers, serums and eye creams did best. Of the 33 we scanned, 14 scored Clean, and only 6 had a hormone flag. Several of the cleanest products were plain drugstore staples, for example Neutrogena Hydro Boost Water Cream Fragrance Free, CeraVe Ultra-Light Moisturizing Gel and Aveeno Daily Moisturizing Cream, all 8 out of 10.

Brand didn't predict much either. Neutrogena and CeraVe, for example, have products near the top of our list and sunscreens near the bottom. Judge the product, not the brand.

## Finding 4: parabens are rarer than you'd think

Only 2 of 133 products listed a paraben. One of them, Jergens Original Scent Dry Skin Moisturizer, lists methylparaben and ethylparaben plus fragrance, and scores 4 (Mixed). Parabens have become rare in best-sellers mostly because brands reformulated, not because of any US rule. The EU banned five parabens in 2014 and capped propyl- and butylparaben, while its safety committee still considers methyl- and ethylparaben safe at normal levels. We explain the differences in [Are parabens bad?](/blog/are-parabens-bad).

## Finding 5: labels change, and listings lag behind

While checking these results we found a product whose formula had changed. CeraVe Daily Moisturizing Lotion used to contain methylparaben and propylparaben. CeraVe's own site now lists a paraben-free formula, but a major retailer's listing still showed the old one. The current formula scores 6.5. If you're checking a product online, use the brand's own page or, better, the label on the bottle in your hand.

## What to do about hormone disruptors in beauty products

You don't need to throw everything out. A few changes cover most of what we found:

- **Choose fragrance-free** for products that stay on large areas of skin, like body lotion and deodorant.
- **Pick mineral sunscreen** if you'd rather avoid homosalate and oxybenzone.
- **Check the products you use every day first.** A daily body lotion matters more than a once-a-month mask.

## Sources

- [EU endocrine disruptor lists (edlists.org)](https://edlists.org/)
- [Commission Regulation (EU) 2022/2195 (homosalate)](https://eur-lex.europa.eu/eli/reg/2022/2195/oj)
- [Commission Regulation (EU) 1004/2014 (propyl- and butylparaben)](https://eur-lex.europa.eu/eli/reg/2014/1004/oj)
- ToxFree scans of 133 products, September 23 – October 5, 2026, re-scored October 6, 2026
