# | Number | Valid | Type | MII | IIN |
---|---|---|---|---|---|
{{ i + 1 }} | {{ r.number }} | {{ r.is_valid ? 'Yes' : 'No' }} | {{ r.card_type }} | {{ r.mii }} | {{ r.iin }} |
Credit-card numbers are structured identifiers that embed industry information and a check digit so payment networks can detect transcription mistakes before authorisation. This self-checking scheme hinges on the Luhn modulus-ten algorithm, which flags slips such as reversed digits or single-digit swaps even before reaching the issuing bank for both e-commerce and point-of-sale transactions.
This validator lets you paste, drag-drop, or import plain-text lists of card numbers and instantly applies the Luhn rule, issuer range patterns, and major industry identifier mapping. Each entry is classified as valid or invalid, linked to its brand, and summarised in an interactive donut chart rendered by a lightweight charting layer entirely in the browser.
Integrate the tool before bulk authorisation batches, QA test checkout forms, or audit data captured by third-party gateways to catch errors early and avoid costly payment declines. Use it interactively on-screen or embed the logic in internal dashboards. Always redact sensitive data before sharing reports and comply with PCI-DSS obligations when handling production card numbers.
Credit-card validation relies on two complementary structures: a lexical pattern that reserves specific digit prefixes for brands and industries, and a checksum that verifies transcription integrity. The first six digits form the Issuer Identification Number (IIN), further grouped into the Major Industry Identifier (MII) found in the leading digit. The final digit is a Luhn check digit calculated from the preceding sequence so that the weighted digit sum modulo ten equals zero.
MII Digit | Industry |
---|---|
0 | ISO/TC 68 & future assignments |
1 | Airlines |
2 | Airlines / Finance |
3 | Travel & Entertainment |
4–5 | Banking & Financial |
6 | Merchandising |
7 | Petroleum |
8 | Healthcare & Telecom |
9 | National Assignment |
The first digit lets you infer the broad service domain, while the IIN pinpoints the issuing bank. Neither element guarantees account status; they merely inform routing and risk checks.
Worked example (Visa 4539 1488 0343 6467):
The modulus-ten checksum was introduced by IBM scientist Hans Peter Luhn (U.S. Patent 2,950,048, 1956) and remains the ANSI X4.13 standard for card verification. ISO/IEC 7812 defines IIN and MII allocations, while EMVCo bulletins document recent scheme range expansions.
All processing occurs client-side, reducing exposure and supporting PCI-DSS requirement 6.4 for pre-authorisation validation.
Follow these steps to check small or bulk lists quickly.
The final digit is derived from the Luhn formula and lets systems verify the rest of the sequence without contacting the issuer.
No. Numbers remain in your browser memory and disappear when the page is closed; nothing is transmitted or logged.
A prefix may belong to a newly issued range not yet listed in public allocations; the checksum is still evaluated correctly.
Yes. Plain-text or comma-separated files up to a few megabytes are parsed instantly; larger files may degrade browser performance.
The checksum detects over 90 % of common data-entry errors. However, only an issuer authorisation can confirm an active account.