Amex & Discover Card Validator
SecurityValidate American Express and Discover credit card numbers using Luhn checksum and BIN prefix detection instantly — client-side only, no card data stored.
What is a Amex/Discover?
The Amex & Discover Card Validator checks whether a payment card number is a structurally valid American Express or Discover card — using the Luhn checksum algorithm and BIN (Bank Identification Number) prefix detection. It is a focused companion to the more general Credit Card Validator, specifically for workflows where you need to confirm a card is one of these two specific networks.
American Express: 15-digit numbers starting with 34 or 37. Display format XXXX XXXXXX XXXXX (4-6-5).
Discover: 16-digit numbers starting with 6011, 65, 644–649, or 622126–622925. Display format XXXX XXXX XXXX XXXX (4-4-4-4). The 622126–622925 range reflects Discover's co-badging arrangement with China UnionPay.
The validator performs three checks in sequence:
- Digit count — 15 for Amex, 16 for Discover
- Prefix match — confirms the number starts with a valid Amex or Discover BIN range
- Luhn checksum — the weighted digit sum must be divisible by 10
A "Valid" result means the card number could have been issued by Amex or Discover. It does not mean the card is active or has an available balance — that requires a live authorisation call to the card network. Use the Credit Card Formatter to format card numbers for display purposes.
All validation is client-side. Card numbers are never transmitted or stored.
How to use this Amex/Discover calculator
- Enter the card number in the input field — raw digits or with spaces/hyphens (stripped automatically).
- Check the Valid/Invalid badge — updates instantly.
- Read the details — network detected, digit count, and Luhn result.
- Use test card numbers (not real cards) — Amex: 378282246310005; Discover: 6011111111111117.
- Format the number for display using the Credit Card Formatter.
Formula & Methodology
Luhn algorithm:Starting from the rightmost digit, moving left: - Leave odd-position digits (1st, 3rd, ...) unchanged - Double even-position digits (2nd, 4th, ...); if result > 9, subtract 9 - Sum all digits - Valid if: sum % 10 === 0BIN detection: | Network | Prefixes | Digit count | |---|---|---| | American Express | 34, 37 | 15 | | Discover | 6011, 65, 644–649 | 16 | | Discover (UnionPay) | 622126–622925 | 16 | Valid and invalid examples: | Card Number | Valid? | Note | |---|---|---| |378282246310005| ✓ | Amex test card — Luhn passes, 15 digits, prefix 37 | |371449635398431| ✓ | Amex test card | |6011111111111117| ✓ | Discover test card — Luhn passes, 16 digits, prefix 6011 | |378282246310006| ✗ | Amex prefix, 15 digits, but Luhn fails (last digit changed) | |4111111111111111| ✗ | Visa — passes Luhn but prefix 4 is not Amex or Discover | |37828224631000| ✗ | Amex prefix but only 14 digits |
Frequently Asked Questions