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.
Reviewed by the thecalcu.com team · Last updated July 4, 2026
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.
Why Use an Amex & Discover Card Validator?
Payment platforms that specifically accept only Amex and Discover (e.g. corporate card programmes, US government procurement platforms, certain loyalty card products) need to validate not just that a card number is structurally valid, but that it belongs to one of these two specific networks. The generic Luhn check is not sufficient, a Visa card also passes Luhn.
Merchant integration use case: A US e-commerce platform accepts Amex and Discover but not Visa or Mastercard (for a specific promotional campaign with Amex cashback). The form validator needs to confirm Amex/Discover-specific prefixes, not just any passing Luhn number.
QA use case: A payment integration developer writing test cases for an Amex-specific feature needs to confirm which test card numbers are valid Amex numbers before using them in the test suite.
Who Should Use This Validator?
Payment developers building US checkout flows with Amex or Discover-specific acceptance rules who need prefix detection beyond a generic Luhn check.
Fintech QA engineers validating test scenarios for Amex and Discover card flows, where the specific network matters for routing, rewards, or fee logic.
Indian developers building US-market e-commerce platforms targeting high-value consumer segments where Amex corporate and premium cards are common.
Security teams auditing stored card data to confirm that numbers stored as 'Amex' or 'Discover' actually match those networks' BIN ranges, as part of data integrity checks.
What Insights Does the Amex & Discover Card Validator Give You?
A valid result shows:
- Which network the card belongs to (American Express or Discover)
- Digit count (15 for Amex, 16 for Discover)
- Luhn checksum confirmation
- Structural-only disclaimer
An invalid result specifies the failure:
- Wrong digit count (e.g. 16 digits starting with 37, Amex must be 15)
- Prefix not matching Amex or Discover ranges (Visa or Mastercard number entered)
- Luhn checksum failure (likely a transposed or mistyped digit)
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.
Show formula & methodology ↓Show less ↑
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 |
Related Tools
You may also find these useful: SSN Validator.
Frequently Asked Questions