Credit Card (Luhn) Validator
Check whether a credit or debit card number passes the Luhn checksum and identify its card brand (Visa, Mastercard, Amex, Discover). Free and private, right in your browser.
Nothing is sent anywhere. Validation happens entirely in your browser. Don't paste real card numbers you don't own.
Paste in a card number to instantly run it through the Luhn checksum algorithm, the same check card readers and payment forms use to catch typos before a transaction is even attempted. Handy for developers testing checkout forms, or anyone who mistyped a digit and wants to know before hitting submit.
How to use it
- Type or paste the card number into the field
- Let the tool run the Luhn checksum instantly as you type
- See whether it passes or fails, right there in your browser
Frequently asked questions
- Does this check if a card is real or has funds on it?
- No. Luhn validation only confirms the digits form a mathematically consistent sequence. It catches typos and mistyped digits, but it can't tell you if a card exists, is active, or has any balance. Only the issuing bank's payment network can verify that.
- Is it safe to type a real card number in here?
- The check runs entirely in your browser using JavaScript. The number is never sent anywhere or logged. That said, if you just want to test the tool, any Luhn-valid test number (like 4111 1111 1111 1111) works fine and avoids typing a real one.
- Why did a real card number fail the check?
- A handful of legitimate cards (some older gift cards, certain private-label or fleet cards) don't follow the Luhn scheme, so a fail here doesn't always mean the number is wrong. It just means it's not Luhn-compliant.
- 1
Nothing is uploaded
The file never leaves your device. There is no server to send it to, so there is nothing to leak, log, or subpoena.
- 2
No signup, no limits
No account, no email, no daily cap, no watermark, and no paid tier waiting behind the third file.
- 3
Works offline
Load the page once and it keeps working with the network off, because all the work was always happening locally.