Validate any card number and detect the brand — instantly, privately, free.
Learn how this works →scroll for examples & details ↓
Type or paste your card number — formatting spaces are handled automatically.
The brand is detected after the first digit. Validation runs at 13+ digits.
Green means structurally valid. Red means a digit is likely wrong.
Format check only
This tool checks format only. It validates structure and checksum, but does not confirm that a card exists, is active, has funds, is not blocked, or can be charged. It does not perform payment authorization or issuer verification.
How this card check works
A credit card number is a 13–19 digit identifier embossed on every payment card. The first 6–8 digits form the Bank Identification Number (BIN), which encodes the card network, issuing bank, and card type. The middle digits identify the account, and the final digit is a Luhn check digit — used to catch transcription errors. This free credit card validator online checks the Luhn checksum and identifies the network from the BIN prefix.
Every major card network uses the Luhn algorithm (ISO/IEC 7812) to validate card numbers. Starting from the rightmost digit, every second digit is doubled. If doubling gives more than 9, subtract 9. Sum all digits — a valid card number always produces a total divisible by 10. Brand detection inspects the leading digits: Visa starts with 4, Mastercard with 51–55 or 2221–2720, Amex with 34 or 37, Discover with 6011 or 65, and UnionPay with 62.
Example
Example: for the Visa test number 4242 4242 4242 4242, the Luhn sum is 60 — divisible by 10, so it is structurally valid.
Client-side card validation catches obvious errors before a payment request reaches your payment gateway. This reduces failed charges, improves checkout conversion, and lowers unnecessary API calls to Stripe, Braintree, or Adyen. It is also essential in test environments where developers need to quickly validate card numbers without hitting live payment APIs.
A credit card number is a 13–19 digit string embossed on a payment card. It is divided into a Bank Identification Number (BIN, first 6–8 digits), an account identifier (middle digits), and a Luhn check digit (last digit). The BIN encodes the card network and issuing bank; the check digit is used to catch typos.
Paste or type the card number into the field above. The validator instantly applies the Luhn algorithm and detects the card brand from the leading digits. No button press needed — validation runs as you type.
The Luhn algorithm (ISO/IEC 7812) is a checksum formula used by all major card networks to catch transcription errors. Starting from the rightmost digit, every second digit is doubled; if the result exceeds 9, subtract 9. The sum of all digits in a valid card number is always divisible by 10.
A BIN (Bank Identification Number), also called IIN (Issuer Identification Number), is the first 6–8 digits of a card number. It identifies the card network (Visa, Mastercard, etc.), the issuing bank, and the card type (credit, debit, prepaid). BINs are used by merchants and payment processors to route transactions and apply country-specific rules.
These pages go deeper into individual topics without duplicating the validator itself.
Open the card validator →What Is a Card Number?
Learn what a card number represents, how BIN/IIN ranges work, and how it differs from CVV and expiry details.
How Card Validation Works
See how card validators check patterns, lengths, and the Luhn checksum before any real payment attempt happens.
Card Number Format by Network
Compare card number lengths, starting digits, and format differences across major payment networks.
What Is the Luhn Algorithm?
A plain-language guide to the Luhn checksum, how it detects common typing mistakes, and where it is used.
Card Number vs IBAN
Compare card numbers and IBANs by payment rail, data sensitivity, and the situations where each one is actually needed.
Common Card Number Errors
The most common reasons card numbers fail validation and how better form design reduces preventable payment input mistakes.