Talk to us
Questions about a card or an order? Pick how you'd like to reach us.
Check whether a card number is correctly formed with the Luhn algorithm, confirm its length for the network, and see which network issued it. Everything runs in your browser.
A card number has a fixed structure. The validator tests that structure, the same way a well-built checkout form does before a payment is sent.
The Luhn algorithm, also called the mod 10 check, was described by IBM scientist Hans Peter Luhn in the 1950s. It is part of the ISO/IEC 7812 standard for card numbers and is used by every major card network.
The check catches every single wrong digit and almost every pair of swapped neighbouring digits. The one swap it misses is 09 and 90.
It is not a security feature. The formula is public, so anyone can produce numbers that pass. Its only job is to catch honest typing mistakes before a payment is attempted.
8 + 2 repeated eight times = 80. 80 ends in 0, so the number passes.
How each network's numbers start, how long they are, and where the security code is printed.
| Network | Starts with | Length | Security code |
|---|---|---|---|
| Visa | 4 | 13, 16 or 19 digits | 3 (back) |
| Mastercard | 51–55, 2221–2720 | 16 digits | 3 (back) |
| American Express | 34, 37 | 15 digits | 4 (front) |
| Discover | 6011, 644–649, 65 | 16–19 digits | 3 (back) |
| JCB | 3528–3589 | 16–19 digits | 3 (back) |
| UnionPay | 62 | 16–19 digits | 3 (back) |
| Diners Club | 36, 300–305, 38–39 | 14–19 digits | 3 (back) |
| Mir | 2200–2204 | 16–19 digits | 3 (back) |
American Express numbers are grouped 4-6-5 and 14-digit Diners Club numbers 4-6-4. Most others are printed in groups of four.
Payment providers such as Stripe publish these numbers for their test modes. They pass the Luhn check and have the right length, so they are ideal for testing checkout forms.
They only work in a provider's test or sandbox mode and can never be charged for real. Use any future expiry date and any security code of the right length.
Click a number to run it through the validator.
| Network | Number |
|---|---|
| Visa | |
| Visa | |
| Mastercard | |
| Mastercard (2-series) | |
| American Express | |
| Discover | |
| JCB | |
| Diners Club | |
| UnionPay |
A number can pass every check here and the payment can still be declined. When you pay online, the merchant and the issuing bank also check:
If a merchant keeps declining a valid card, look up its BIN to see the card type and country, then check the BIN or compare virtual cards by network and country.
This validator is plain JavaScript that runs in your browser. The number you type is never sent to Qwikvcc or anyone else, and we never ask for an expiry date, security code or name. The "Look up this BIN" link only sends the first six digits, and only if you click it. As with any website, only check numbers you own or published test numbers.
Can't find your answer? Our support team is happy to help.
Contact supportIt checks the format of a card number: whether it passes the Luhn checksum, whether its length is right for its network, and which network the first digits belong to. It cannot see the card account itself.
No. Passing means the number is well formed, nothing more. Whether the card exists, is active, has funds or will be approved is only known to the issuing bank when a payment is authorised.
Starting from the right and skipping the last digit, double every second digit. If doubling gives a number above 9, subtract 9. Add up all the digits, including the last one. If the total is a multiple of 10, the number passes.
The check runs entirely in your browser and the number is never sent to our server. Even so, only check your own card or a published test number, and never enter an expiry date or CVV on any validator page. This one does not ask for them.
Almost always because of a typo: a wrong, missing or extra digit, or two digits swapped. Copy the number again from the card or your banking app. Numbers on statements and receipts are usually masked and cannot be checked.
Not from the number. Only the issuing bank knows the balance and status. Sites that claim to check whether a card is live do it by attempting charges on it, which is card testing and is illegal.
Visa, Mastercard (including 2-series numbers), American Express, Discover, JCB, UnionPay, Diners Club and Mir. Numbers from other networks are still checked with Luhn, but their length cannot be confirmed.
Payment providers publish test numbers for their sandbox or test mode, like the ones listed on this page. They pass validation but only work in test mode and can never be charged for real.