Canadian · Validation

NPI number validator.

Check a 10-digit US National Provider Identifier against the real Luhn check-digit formula CMS uses — the same routine check medical billers, pharmacists and insurance staff run on an NPI before they trust it.

How it checks out: CMS calculates the NPI check digit with the standard Luhn (modulus-10 “double-add-double”) formula, always computed as if the fixed prefix 80840 (the card-issuer-identifier prefix for US health applications) were prepended to the 9-digit identifier root — even though the prefix itself is never part of the NPI you're given.

Source: CMS — Requirements for NPI and NPI Check Digit (Jan 23, 2004)Verified 29 September 2026

Advertisement

Inputs

Enter the full 10-digit NPI, including its check digit.

Result

Enter an NPI and press Check.

How the NPI check digit is calculated

Every US health care provider that transmits HIPAA-covered electronic transactions gets a 10-digit National Provider Identifier (NPI): 9 numeric digits with no embedded meaning, plus a final check digit. CMS specifies that check digit using the standard Luhn formula for computing the modulus-10 “double-add-double” check digit — the same algorithm used for credit-card numbers and, per CMS's own document, for the ISO card-issuer identifier on a standard health identification card.

The wrinkle is the prefix. When an NPI is printed as a card-issuer identifier, it is preceded by 80840 (80 = health applications, 840 = the United States under ISO 3166-1). CMS's rule: the check digit is always calculated as if that prefix were present, even on a bare NPI that never carries it. So validating an NPI means prepending 80840 to its 9-digit root, running Luhn on the resulting 14 digits, and comparing the result to the 10th digit you were given.

Worked example, from CMS's own specification document: identifier root 123456789, prefixed to 80840123456789. Doubling alternate digits from the right and summing gives 67; the amount needed to reach the next multiple of ten is 3 — so the full, correctly-checksummed NPI is 1234567893.

Checksum only — not an NPPES registry lookup

This tool verifies the check digit's arithmetic entirely in your browser. It does not query the NPPES registry, so a checksum pass is not proof the number was ever actually assigned to a real provider — only the NPPES NPI Registry can confirm that. Nothing you type is transmitted, stored, or logged.

Advertisement
Advertisement
Listening…