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
Formatted4532 0151 1283 0366
NetworkVisa
Digit count16 (expected 13 or 16 or 19)
Luhn checksumPass

How to validate a card number

  1. 1

    Type or paste a card number, with or without spaces.

  2. 2

    See the detected card network, the properly grouped formatting, and the digit count against the expected length.

  3. 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.