Methodology & sources

How we build the dataset, and exactly how every verdict on this site is computed.

Products

For each of the 42 brands we list every SPF product currently sold on the brand’s own website. For each product we transcribe the Drug Facts panel — active ingredients with percentages and the full inactive list in label order — and record the exact page it came from. When a brand doesn’t publish the list (some mass-market brands now sell only through retailers) we use the manufacturer’s own label as filed with the FDA on DailyMed, or a major retailer’s listing, and say so on the product page. If we can’t find a complete list we mark the product “ingredient list incomplete” (13 of 988 products today) and never fill the gap by guessing.

We link to brand-hosted product images rather than copying them. Brands can request corrections at any time.

Product identifiers

Where a product has an FDA drug label, we list its National Drug Code (NDC), package NDCs with sizes, UPC barcodes and a link to the label onDailyMed. A label is only linked to a product when the active ingredients, percentages, SPF, format and product name all agree. Close calls were checked by hand against the package text, and when a label could belong to more than one product we leave the identifiers off rather than guess.

Laws

Each of the 13 locations is sourced to the statute, ordinance or official notice wherever one exists, with the date we last checked it. Where a law was overturned or preempted (for example by a state law) we keep the entry, mark it repealed, and explain why — because it’s still widely cited. Start dates and recorded changes are listed on law updates.

Ingredients

Our dictionary covers 41 ingredients, each with every label name we know: INCI names, US names, trade names and color index numbers. Matching is case-insensitive and longest-name-first, so “ethylhexyl dimethyl PABA” is recognised as padimate O and not mistaken for PABA.

Verdicts

One piece of code produces every verdict — on product pages, brand pages, location pages and in the checker:

  • Named-ingredient bans: a product is not allowed if any banned ingredient appears in its actives or inactives.
  • Mineral-only rules: a product is not allowed if any active ingredient is anything other than zinc oxide or titanium dioxide.
  • Guidance: products are shown as meeting or going against the guidance; there is no legal verdict.
  • Unverified: the product passes on the ingredients we know, but part of its list is missing and the rule depends on it.
  • Repealed: no verdict — there is no enforceable rule.

Limits

We report whether a formula meets a law as written. We don’t test products, and formulas change without notice. Particle size (“non-nano”) is a brand claim that US labels don’t have to disclose. None of this is legal advice.

Dataset last reviewed September 23, 2026.