AZ Tools

Credit Card Validator (Luhn + Brand)

Everyday

Card numbers (PAN) embed a brand-specific Issuer Identification Number, an account number, and a final Luhn check digit. This tool: (1) detects brand from leading digits (Visa, Mastercard, Amex, Discover, JCB, Diners, UnionPay, Maestro), (2) checks the length matches that brand's spec, (3) runs the Luhn mod-10 checksum. Useful for client-side form validation — catches typos and obvious fakes before the payment processor sees them.

Enter a card number above.

⚠ Don't paste real cards into web tools. Use processor test numbers (e.g. Stripe's 4242 4242 4242 4242).

Detects brand from BIN/IIN prefix, validates length per brand, then runs Luhn mod-10. All local — nothing leaves your browser.

How to use

  1. Paste or type a card number. Spaces and dashes are stripped automatically.
  2. Watch the brand badge update as you type.
  3. ✓ valid means brand-correct length and Luhn pass. Real authorization still needs your processor.

Frequently asked questions

Does Luhn-passing mean the card is real?
No. Luhn only catches typos. A randomly generated Luhn-valid number is almost certainly not issued to anyone. Real validity needs your payment processor (Stripe, Adyen, etc) to attempt authorization.
Which brands are detected?
Visa, Mastercard, American Express, Discover, JCB, Diners Club, UnionPay, and Maestro — by leading-digit pattern. Some cards (e.g. private-label store cards) won't match and show as 'unknown'.
Why does Amex show 15 digits?
Amex uses 15-digit PANs and a 4-digit CID (the security code). Visa/MC use 16-digit PANs and a 3-digit CVV. Discover/JCB are 16, sometimes 19.
Is it safe to paste a real card number here?
Computation runs entirely in your browser — nothing is sent over the network. That said, don't paste real cards into random web tools. Use test card numbers for validation testing (e.g. Stripe's 4242 4242 4242 4242).

Related tools