Luhn checksum (mod 10)
ClientThe Luhn algorithm verifies a trailing check digit for many digit strings—common in payment cards and some device identifiers. Paste digits (spaces and dashes are ignored) to see pass or fail without uploading anything.
What this checks
Starting from the rightmost digit, the algorithm walks left, doubling every second digit. If doubling yields a two-digit number, 9 is subtracted. When the sum of all processed digits is divisible by 10, the string satisfies the Luhn condition. It catches many single-digit typos and transpositions but is not a cryptographic guarantee.
How to use
Paste the full digit string including its check digit. Use "Load example" for a known-good vector, or prefill via ?q= / ?qb= (Base64) for automation. At least two digits are required after non-digits are removed.
For US National Provider Identifiers, use NPI check digit (CMS prepends 80840 before Luhn). For other local format checks, open Validate tools or Regex generator for pattern-heavy inputs.
?
Spaces and punctuation are ignored. The Luhn algorithm doubles every second digit from the right (starting with the digit left of the check digit), subtracts 9 when a doubled value is greater than 9, and requires the sum to be a multiple of 10.
Result
Passes Luhn mod 10 (16 digits).
Nearby workflows on Toolcore
- Payment card checker — for PAN length, Luhn, and coarse issuer hints together.
- IBAN validate — when account numbers use MOD-97-10 instead of Luhn.
Common use cases
- Sanity-check a primary account number or tokenized card string from docs before wiring a payment form.
- Verify IMEI or other identifiers that use a Luhn check digit in their specification.
- Teach or debug Luhn: compare a failing number against a known-good test vector in the same tab.
- Pair with regex or E.164 tools when you are validating structured digit strings end to end.
Common mistakes to avoid
Treating Luhn pass as proof of a real or active card
Luhn only checks the checksum. It does not mean the number is issued, funded, or authorized.
Forgetting to strip spaces or dashes mentally
This page strips non-digits automatically; your backend should apply the same normalization rule you document.
Using one digit
A single digit cannot form a meaningful mod-10 chain; this tool asks for at least two digits after cleanup.
FAQ
Is my number sent to a server?
No. The check runs entirely in your browser; Toolcore does not receive the digits you paste.
Does this validate card type or issuer?
No—only the Luhn checksum is evaluated here. Open Payment card checker in Security tools for mod 10 plus typical Visa/Mastercard/Amex/Discover-style BIN hints from public ranges.
Which algorithm is this?
ISO/IEC 7812 mod 10: from the right, double every second digit, subtract 9 from any product over 9, sum all digits, total divisible by 10.
What is a safe example?
Use published test PANs from your processor or the sample on this page—never paste production card data on shared devices.
Common search terms
Phrases people search for that match this tool. See the full long-tail keyword index.
- luhn algorithm check online
- mod 10 checksum validator locally
- validate luhn checksum free browser
- credit card test pan luhn check
More tools
Related utilities you can open in another tab—mostly client-side.
IMEI & IMEISV checker
Client15-digit GSM IMEI: TAC/SNR split and Luhn verification; 14-digit check hint or 16-digit IMEISV segmentation—no carrier lookup; browser-only.
VIN check digit (17-char)
ClientNorth American–style vehicle ID: ninth-position mod 11 checksum, WMI and sequential split—no DMV or OEM decode API; browser-only.
ICCID checker (SIM)
Client18–22 digit ICCID: telecom MII hint (89), E.118 / ISO 7812 Luhn on full string—no carrier or SM-DP+ lookup; browser-only.
Payment card checker
ClientPaste PAN digits—Luhn pass/fail plus Visa/Mastercard/Amex/Discover-style BIN hint; no bank lookup; browser-only.