| # | Number | Valid | Type | MII | IIN-6 | IIN-8 | Len | Length OK | Copy |
|---|---|---|---|---|---|---|---|---|---|
| {{ i + 1 }} | {{ maskNumbers ? mask(r.number) : spaced(r.number, r.card_type) }} | {{ r.is_valid ? 'Yes' : 'No' }} | {{ r.card_type }} | {{ r.mii }} | {{ r.iin }} | {{ r.iin8 }} | {{ r.length }} | {{ r.length_valid ? 'Yes' : 'No' }} | |
| No results yet. | |||||||||
| Number | {{ maskNumbers ? mask(summary.main.number) : spaced(summary.main.number, summary.main.card_type) }} |
|---|---|
| Type | {{ summary.main.card_type }} |
| Length | {{ summary.main.length }} |
| Expected Lengths | {{ (summary.main.expected_lengths && summary.main.expected_lengths.length ? summary.main.expected_lengths.join(', ') : '—') }} |
| MII | {{ summary.main.mii }} |
| IIN-6 | {{ summary.main.iin }} |
| IIN-8 | {{ summary.main.iin8 }} |
| Luhn Valid | {{ summary.main.is_valid ? 'Yes' : 'No' }} |
| Length OK | {{ summary.main.length_valid ? 'Yes' : 'No' }} |
| No details yet. | |
Credit card numbers are structured identifiers that encode basic issuer information and finish with a check digit that guards against common entry errors. Understanding this structure helps you tell a simple typo from a number that fits known patterns, and a credit card number checker can surface those differences quickly.
Enter one or many numbers and see immediate feedback about overall validity, issuer family, and length expectations so you can clean a list before it flows into another system. Results highlight which entries pass the checksum and which ones do not, with optional masking when you only need to confirm endings.
For example, a list collected from a webform might include spaces and punctuation, so paste it in and review the counts by issuer and by length. If a number looks plausible yet still fails, it usually means a transposed pair of digits or an extra character slipped in during capture.
Use consistent formatting and compare like with like for clearer trends. Prefer test data in shared environments, and avoid storing or forwarding real customer numbers when a masked sample is sufficient. When you need an issuer snapshot, switch to the stats view after validation and scan the distribution.
Credit card numbers belong to a family of structured identifiers that begin with a Major Industry Identifier (MII), include an Issuer Identification Number (IIN, sometimes called BIN), carry an account sequence, and end with a check digit computed by the Luhn method. The analysis here is a snapshot of those quantities for each submitted token.
The computation first strips non‑digits, then evaluates the Luhn checksum to detect common single‑digit errors and adjacent transpositions. It separately recognizes issuer families from prefixes and compares the observed length to scheme‑typical ranges. These pieces are reported per number as independent indicators.
Results are interpreted as two flags: overall Luhn valid or not, and length OK when strict length checking is enabled. Close calls are common near length edges, so treat a Luhn pass with an unexpected length as suspicious rather than definitive.
Comparisons are meaningful across runs when inputs are captured in the same way and duplicate handling is consistent. Pattern recognition does not verify an account or line of credit; it only checks structure and checksum behavior.
| Symbol | Meaning | Unit/Datatype | Source |
|---|---|---|---|
| Digit at position i from the left | 0–9 | Input | |
| Digit i after reversing order | 0–9 | Derived | |
| Transformed digit after doubling logic | 0–9 | Derived | |
| S | Sum of transformed digits | Integer | Derived |
| n | Number of digits | Integer | Input |
Worked example. Input “4111111111111111” (spaces or punctuation are ignored). After reversing and applying the doubling rule, the transformed sequence sums to S = 30. Since 30 mod 10 equals 0, the checksum passes. Prefix “4” suggests Visa, and a length of 16 matches typical Visa lengths.
If strict length checking is enabled and the length falls outside a scheme’s allowed set, the Length OK flag will show “No” even when the checksum passes.
| Issuer family | Prefix recognition (summary) | Expected lengths |
|---|---|---|
| Visa | Starts with 4; length recognition uses 13 to 19 | 13, 16, 19 |
| MasterCard | 51–55 or 2221–2720 | 16 |
| American Express | 34 or 37 | 15 |
| Diner’s Club | 300–305 or 36 or 38 | 14 |
| Discover | 6011 or 65 or 644–649 or 622126–622925 | 16–19 |
| JCB | 2131 or 1800 or 35 | 16–19 |
| Unknown | Pattern not matched | — |
| MII digit | Meaning |
|---|---|
| 0 | ISO/TC 68 |
| 1 | Airlines |
| 2 | Airlines/Finance |
| 3 | Travel/Entertainment |
| 4 | Banking |
| 5 | Banking |
| 6 | Merchandising |
| 7 | Petroleum |
| 8 | Healthcare/Telecom |
| 9 | National assignment |
| Field | Type | Min | Max | Step/Pattern | Error text | Placeholder |
|---|---|---|---|---|---|---|
| Numbers | Textarea | — | — | Split on spaces, commas, new lines; strip non‑digits | — | Paste numbers or drop a .txt/.csv |
| Strict length check | Boolean | 0 | 1 | Switch | — | — |
| Remove duplicates | Boolean | 0 | 1 | Switch | — | — |
| Minimum digits per token | Number | 0 | — | Step 1 | — | — |
| Import list | File | — | — | Accepts .txt, .csv | — | — |
| Input | Accepted families | Output | Encoding/Precision | Rounding |
|---|---|---|---|---|
| Text or file | Plain text, .txt, .csv | List view | String digits only | None |
| Text or file | Plain text, .txt, .csv | Stats | Counts by validity, issuer, length | None |
| Text or file | Plain text, .txt, .csv | JSON or CSV | JSON with inputs/totals/results; CSV rows with columns shown | None |
Units, precision, and rounding. Inputs are base‑10 digits; non‑digits are removed. No rounding is applied. Computation is integer‑safe for typical card lengths.
Networking and storage behavior. Processing occurs in the client. Charts may rely on a charting layer that is fetched from a public source; if it is unavailable, validation still runs but charts may not render.
Performance and complexity. Parsing and validation are linear in the number of digits; memory use scales with the number of tokens.
Diagnostics and determinism. Identical inputs and settings produce identical outputs. JSON export reflects the exact flags shown in the list view.
Security considerations. Treat credit card numbers as sensitive. Prefer masked displays when possible, avoid sharing raw values, and rely on recognized test numbers for demonstrations.
Privacy & compliance. No data is transmitted or stored server‑side. Use masked displays and test data where policy requires.
Credit card number validation with checksum and issuer recognition.
Example. Paste “4111 1111 1111 1111, 6011‑0000‑0000‑0004” and enable strict lengths to see a Visa pass and a Discover‑pattern result evaluated by checksum.
Pro tip: mask numbers when presenting findings to keep focus on patterns, not raw values.
You now have a clean list with clear pass/fail signals and issuer context.
No. Processing is client‑only. A charting layer may be fetched for the stats view; validation still runs without it.
Avoid sharing real customer numbers; prefer masked or test values.It applies the Luhn checksum and prefix recognition. These detect common errors and issuer families but do not confirm that an account exists or can transact.
Paste plain text with numbers separated by spaces, commas, or lines, or import .txt or .csv files. Non‑digits are removed per token before validation.
Yes for validation and lists. The stats view needs a charting layer; if it is unavailable, charts will not render.
A number can pass the checksum while its length differs from scheme‑typical ranges. Enable strict length to surface a Length OK flag for those cases.
Paste the number, run validation, and confirm a prefix of 4 with a length of 13, 16, or 19 alongside a passing checksum.
Yes. Copy or download CSV for the table and JSON for the structured payload containing inputs, totals, and per‑number results.
The package does not declare licensing terms here. Consult the host site’s terms for usage and redistribution details.
Tip Use minimum‑digits filtering to remove short IDs that are not card numbers.
Tip Disable duplicate removal while auditing sources, then enable it for final lists.
Tip Compare issuer distributions before and after cleaning to spot capture biases.
Tip Keep masking on when screen‑sharing; reveal only the digits you need to show.
Tip Export JSON for reproducible pipelines; it records options, totals, and results.
Tip Enforce strict length before sending a list to any downstream system.