NPI Validator (National Provider Identifier)
Paste a National Provider Identifier to check whether it passes the Luhn check digit. NPIs prepend the constant 80840 before the calculation, and the tool computes the expected check digit and compares it, all locally in your browser.
How to validate an NPI
- Type or paste the 10-digit NPI. Spaces and hyphens are ignored.
- See the valid or invalid badge update with the reason and the computed check digit.
- Review the nine-digit base and the check digit, then copy the cleaned NPI.
Examples
A valid NPI
1234567893
valid: true, base: 123456789, checkDigit: 3
An NPI with the wrong check digit
1234567890
valid: false, computedCheckDigit: 3
Frequently asked questions
What does this NPI validator check?
It checks the structure and check digit: that the NPI is exactly 10 digits, and that the last digit matches the Luhn check digit computed from the first nine digits after prepending the constant 80840. A valid result means the number is well-formed, not that it is assigned to a real, active provider.
Why is the number 80840 added before the check?
The NPI uses the ISO 7812 card-number check-digit method, which is the Luhn algorithm applied to an issuer-prefixed number. For health-related identifiers the assigned prefix is 80840. It is prepended to the nine-digit base so the same Luhn machinery used for payment cards can produce the NPI check digit.
How is the NPI check digit calculated?
Take the first nine digits, prepend 80840 to make a fourteen-digit string, then run the Luhn algorithm: double every second digit from the right, subtract nine from any result over nine, and sum everything. The check digit is the amount needed to bring that sum up to the next multiple of ten.
Does a valid NPI mean the provider is real or active?
No. This tool only confirms the number passes its checksum. To see whether an NPI is assigned and to whom, you would need to look it up in the official NPI Registry. A valid check digit simply rules out most typos.
Is my data sent anywhere?
No. All validation runs locally in your browser using client-side JavaScript. The NPI you enter is never uploaded, logged, or stored, so it never leaves your device.
Related tools
Luhn Validator
Check any number against the Luhn mod-10 algorithm and get the check digit that completes it. Runs in your browser, so the number stays private.
Credit Card Validator
Check a credit card number with the Luhn algorithm and detect the card type. Validation runs in your browser, so the number never leaves your device.
IMEI Validator
Validate a 15-digit IMEI with the Luhn checksum. Paste an IMEI to see if it is valid and read its TAC, serial number and check digit. Runs in your browser.
SSN Validator
Check the structure of a US Social Security Number. Flags invalid area, group and serial parts. Format check only, runs privately in your browser.
BIC / SWIFT Validator
Validate a BIC or SWIFT code against ISO 9362. Check the format and country, then read the bank, country, location and branch parts of the code.
CUSIP Validator
Validate a 9-character CUSIP with the standard mod-10 check digit. See the issuer and issue blocks and the computed check digit. Private, in your browser.