CREDIT CARD VALIDATOR
Check the Luhn checksum and detect the card network. The number is never transmitted, logged, or stored — it stays on your device, full stop.
This number is checked entirely on your device. It is never sent to a server, logged, or stored — not even in analytics.
Valid card number
| Formatted | 4532 0151 1283 0366 |
| Network | Visa |
| Digit count | 16 (expected 13 or 16 or 19) |
| Luhn checksum | Pass |
How to validate a card number
- 1
Type or paste a card number, with or without spaces.
- 2
See the detected card network, the properly grouped formatting, and the digit count against the expected length.
- 3
Check the Luhn checksum result — pass means the number is internally consistent, not that it's an active, billable card.
Questions
- Does a passing Luhn check mean the card is real and active?
- No. The Luhn algorithm is a simple checksum built into how card numbers are generated — it catches typos and randomly-guessed numbers, but plenty of numbers pass Luhn without being issued to anyone, and some published "test" card numbers are deliberately Luhn-valid for testing payment integrations. Confirming a card is real, active, and able to be charged requires an authorization request to the card network, which this client-side tool doesn't do and never will.
- How is the card network detected?
- By the number's prefix and total length, using the publicly documented ranges each network uses: Visa starts with 4; Mastercard starts with 51–55 or falls in the 2221–2720 range; American Express starts with 34 or 37; Discover starts with 6011, 644–649, or 65; Diners Club starts with 300–305, 36, or 38; JCB falls in the 3528–3589 range. If a number doesn't match any known range, the network shows as Unknown.
- Is my card number stored, logged, or sent anywhere?
- No. Every check — the Luhn checksum, network detection, and formatting — runs locally in your browser with plain JavaScript. The number never leaves your device: it isn't sent to a server, written to a log, or included in any analytics event. Only the fact that you used the validator (not the number itself) is ever tracked.
- Why does it ask for the full number instead of just the last 4 digits?
- The Luhn checksum and network-range detection both need every digit to compute correctly — a partial number can't be validated this way. If you're uneasy typing a real card number into any web page (a reasonable instinct), use one of the widely published test numbers instead, like 4532 0151 1283 0366, to see how the tool works.