NPI check digit
ClientUS National Provider Identifiers are ten-digit numbers issued to health-care providers. This page applies the CMS-published check: the first digit classifies individual vs organization, and the trailing check digit satisfies Luhn mod 10 on the 15-character digit string formed by 80840 followed by the full NPI.
What is checked
Non-digits are stripped. The value must be exactly 10 digits, start with 1 or 2, and pass Luhn when 80840 is prepended—matching the published CMS algorithm for NPI check digits.
Related tools
For generic mod-10 chains (cards, IMEI-style samples), use Luhn checksum. For payment card PANs plus network hints, use Payment card checker.
?
Non-digits are removed. A valid entry is 10 digits: the first digit is 1 for an individual or 2 for an organization. The check digit follows the CMS rule: standard Luhn mod 10 on the 15-digit string 80840 plus all 10 NPI digits.
Result
Passes CMS NPI check digit.
Normalized: 1245319599
Entity type (digit 1): 1 — individual provider
Common use cases
- Sanity-check an NPI from onboarding paperwork before saving it next to tax IDs in an internal form.
- Confirm a pasted 10-digit string is not merely Luhn-valid as a card number—NPI uses a fixed 80840 prefix in the check.
- Teach billing staff why a typo fails the check digit without opening a production payer portal.
- Pair with the generic Luhn page when comparing IMEI or PAN checks to the CMS NPI rule.
Common mistakes to avoid
Assuming a passing check means the provider is active or credentialed
Only the digit pattern and check digit are evaluated here. Enrollment, sanctions, and payer enrollment live in other systems.
Mixing up NPI with state license or DEA numbers
Those identifiers use different formats; this page expects exactly the CMS NPI rules.
Using numbers that start with digits other than 1 or 2
Under the standard NPI assignment, the first digit identifies individual vs organization—other leading digits fail here by design.
FAQ
Is my NPI sent to Toolcore servers?
No. Validation runs entirely in your tab; nothing is uploaded for the checksum.
Does this query the NPPES registry?
No. There is no live lookup—only length, leading digit rule, and the Luhn step documented by CMS.
Why prefix 80840?
CMS specifies that constant when applying the ISO mod 10 (Luhn) algorithm to NPIs so the check digit differs from a plain 10-digit Luhn string.
Is this a substitute for eligibility or claims?
No. It is a developer-friendly format check only; production claims need your payer and clearinghouse workflows.
Common search terms
Phrases people search for that match this tool. See the full long-tail keyword index.
- npi check digit validator online
- cms npi luhn 80840 browser
- national provider identifier format check
- validate npi number locally no upload
More tools
Related utilities you can open in another tab—mostly client-side.
Luhn checksum (mod 10)
ClientPaste a digit string (spaces ignored)—pass or fail Luhn for PANs, IMEI-style IDs, and test vectors; browser-only.
Payment card checker
ClientPaste PAN digits—Luhn pass/fail plus Visa/Mastercard/Amex/Discover-style BIN hint; no bank lookup; browser-only.
ISIN validate
ClientISO 6166 securities ID—12 characters, letter expansion + Luhn check digit; no issuer lookup; browser-only.
IBAN validate & format
ClientMOD-97-10 checksum, country length (embedded list), compact or grouped copy—no bank lookup; browser-only.