INCI Names & CAS Numbers

The CAS Check Digit and How It Catches Typos

A step-by-step walkthrough of the CAS check digit formula, with a worked example showing how a single transposed digit gets caught.

Diane R.4 min read

Somebody on a supplier spec sheet typed 9004-32-4 instead of 9004-34-6, and nobody caught it for two batches. That's the kind of error a check digit exists to prevent, and it takes about thirty seconds to run once you know the arithmetic.

What the check digit actually is

A CAS Registry Number looks like three groups of digits separated by hyphens, something like 9004-34-6. The last digit, after the final hyphen, is not part of the substance's identity. It's a checksum, calculated from every digit that comes before it. If someone swaps two digits, drops one, or mistypes a number while copying a spec sheet into a filing, the checksum almost always stops matching. That mismatch is your signal that something in the number is wrong, even before you go look up what the number is supposed to represent.

This matters more than it sounds like it should. A CAS number is how you connect a supplier's ingredient to the correct entry on a restriction list. Get the number wrong and you might screen against the wrong substance entirely, one that looks similar on paper but has a different concentration limit or isn't restricted at all.

The arithmetic, step by step

Strip out the hyphens and work from the rightmost digit before the check digit, moving left.

  1. Take all digits except the final check digit.
  2. Multiply the last of those digits by 1, the next one to the left by 2, the next by 3, and so on, increasing the multiplier as you move left.
  3. Add up all those products.
  4. Divide the sum by 10 and take the remainder. That remainder is what the check digit should be.

Let's run it on 9004-34-6. Drop the hyphens and the check digit: 900434. Reading from the right, the digits are 4, 3, 4, 0, 0, 9, and their multipliers are 1, 2, 3, 4, 5, 6.

  • 4 × 1 = 4
  • 3 × 2 = 6
  • 4 × 3 = 12
  • 0 × 4 = 0
  • 0 × 5 = 0
  • 9 × 6 = 54

Add those up: 4 + 6 + 12 + 0 + 0 + 54 = 76. Take 76 mod 10, and you get 6. That matches the check digit on the number, so 9004-34-6 is internally consistent.

Now try the typo version, 9004-32-4. Digits before the check digit: 900432, reversed with multipliers: 2×1, 3×2, 4×3, 0×4, 0×5, 9×6, which is 2 + 6 + 12 + 0 + 0 + 54 = 74. Mod 10 gives 4, which does match the check digit shown, 4. So this particular typo happens to produce another internally valid-looking number, just one that belongs to a different substance (or possibly no registered substance at all). That's the catch: the check digit only tells you the number is self-consistent, not that it's the number you meant to write down. It's a strong first filter, not a guarantee.

What the check digit will and won't catch

Error type Caught by check digit?
Single digit changed to a different digit Usually yes
Two adjacent digits transposed Usually yes
A whole segment copied from the wrong ingredient Not necessarily, if that number is itself valid
Missing hyphens or extra spaces Not applicable, formatting issue, not a math issue
Right number, wrong ingredient name attached to it Never, this needs a database lookup, not arithmetic

That last row is the real lesson. The check digit tells you a number is well-formed. It does not tell you the number belongs to the ingredient you think it does. For that you still need to look the number up against a real chemical registry and confirm the substance name matches what your supplier documentation says.

Where this fits into a filing workflow

If you're assembling an ingredient list for a notification, a quick discipline helps: whenever you copy a CAS number from a certificate of analysis or a supplier spec sheet into your own records, run the check digit on it once. It takes less time than proofreading a sentence, and it catches the single-character slips that happen constantly when numbers get retyped across systems rather than copied and pasted.

It won't catch everything. A supplier that sends you the wrong CAS number for the right ingredient, formatted correctly, will sail right through this test. That's a separate verification step, matching the number against the INCI name and confirming both point to the same substance. But for the plain typo, the transposed digit, the check digit is a fast, free sanity check that's worth building into however you handle incoming formulation data.

Cosmetic Comply runs this kind of validation automatically as part of matching ingredients to INCI names and CAS numbers during a filing, which is one less thing to eyeball by hand when you're pulling together a notification.

READY TO FILE?

Send your ingredients and we take it from here

A short intake form is all it takes to start. Every ingredient gets checked against your market's prohibited and restricted lists, then we file your notification and hand you a number you can track.

Start a filing

Keep reading