Runs locally in your browser. Nothing you enter is uploaded to our servers.

Result will appear here

Tips for Luhn checks

Luhn validates checksums — it does not prove a card is issued or funded.

Do not store full PANs unless you must and are PCI-compliant.

Use only test card numbers in non-production systems.

Mask displayed numbers except last 4 when showing to users.

A failed Luhn check means fix input before charging attempts.

Luhn checksum for card-shaped numbers

Processing stays in your browser — your input is not uploaded to our servers.

Luhn is the digit check used on many card PANs and some IDs. Passing Luhn means the number is well-formed, not that a card exists or has funds.

Never paste live customer PANs into a browser tool on a shared machine. Prefer test BINs from your acquirer.

Run a Luhn check

  1. Paste digits only

    Spaces and dashes are usually stripped; letters will fail.

  2. Check the checksum

    A fail is a typo. A pass is still not an authorization.

  3. Clear the input

    PAN is PCI-sensitive. Do not leave it in history or screenshots.

Luhn validator FAQ

Does this charge a card?

No. There is no payment gateway. Luhn is a checksum only.

Is the number sent to a bank?

No. The algorithm runs in the browser.

Why use this in QA?

To catch mistyped test PANs before they hit a sandbox that also rejects bad Luhn.