← All tools

Bank Card, IBAN & ID Validator

Validate bank card numbers, IBANs, and Chinese ID numbers in bulk. Check Luhn and MOD 97 digits, card brands, and dates locally.

This tool runs entirely in your browser. Your input is never uploaded.

Numbers are checked locally in your browser and never uploaded.

Numbers (one per line)
Results
Rows0Valid0Bad checksum0Format0Unknown0
  • Paste one number per line to check its check digit.

What does this tool check?

Paste one number per line and the tool reports, for each line, what kind of number it looks like, whether its check digit is correct, and the fields it can read from the format. It recognizes three families:

  • Bank card numbers — Luhn check digit, known card brands, and supported lengths.
  • IBANs — ISO 7064 MOD 97-10 check digits, country-specific length, and BBAN structure.
  • Chinese resident ID numbers — the GB 11643 check character, birth date, province prefix, and gender.

Lines that do not match any known format are reported as unrecognized instead of being guessed.

How does the Luhn check work?

The Luhn algorithm (also called MOD 10) doubles every second digit from the right, subtracts 9 from any result above 9, and sums everything. A number is well-formed when the total is divisible by 10. It catches single-digit typos and most adjacent transpositions, which is why nearly every card network uses it.

Luhn passing does not mean the card exists. It only means the digits are internally consistent.

How does the IBAN check work?

An IBAN moves its first four characters to the end, converts letters to numbers (A = 10 through Z = 35), and takes the remainder modulo 97. A valid IBAN leaves a remainder of 1. The tool also checks the printed length against the SWIFT IBAN registry for that country and verifies the BBAN layout (digits, letters, or alphanumeric).

How does the Chinese ID check work?

An 18-digit resident ID number encodes the region code, birth date, a sequence number, and a check character. The first 17 digits are weighted by the fixed factors 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2, summed, and mapped through 1 0 X 9 8 7 6 5 4 3 2. The tool also confirms that the province prefix exists and that the birth date is a real calendar date.

What the result labels mean

  • Valid — the format is recognized and every check passed.
  • Check digit failed — the shape is right, but the Luhn, MOD 97, or ID check character does not match. This usually means a typo.
  • Format error — the length, characters, or structure do not fit the format, for example an IBAN with a country never seen before or a card length the brand does not issue.
  • Unrecognized — the line does not resemble any supported format.

Privacy and limits

Everything runs in your browser. Numbers are never uploaded, logged, or stored in the URL. The tool validates number structure only: it cannot tell you whether an account, card, or person is real, and it does not verify against any issuer database.

Frequently asked questions

Why does a valid card number still get declined?

Luhn only proves the digits are consistent. Expiry date, CVV, available balance, and issuer rules are decided by the payment network, not by the number itself.

Why does an IBAN I know to be real get flagged?

Check the country and the total length first. IBANs from a country missing in the SWIFT registry, or with a digit misplaced, fail the MOD 97 step even when the account exists.

Should I paste real card numbers into a web page?

Only when you trust the page and the device. This tool never sends your input anywhere, but any page can be tampered with, so treat production card data carefully.

Related tools

A growing collection of browser-only tools. Your data stays on your device whenever the browser can handle the task.