πŸ“ˆ GH Trending Explorer 🎲 Surprise me

← all repos

ashleydarosa / CC-Checker-Validator-Generator

git clone https://github.com/ashleydarosa/CC-Checker-Validator-Generator.git CC-Checker-Validator-Generator Β· 28d ago

Python CLI toolkit for payment QA: generate and validate synthetic Luhn-valid card numbers by brand, BIN, or custom pattern. Supports Visa, Mastercard, Amex, Discover and more, plus BIN/IIN lookup, expiry/CVV checks, bulk validation, masking, and TXT/CSV/JSON export. Offline and cross-platform.

+0
stars, 24h Β· #35,380
+~2
stars, 7 days Β· #25,264
+~10
stars, 30 days Β· #29,494
201
β˜… total Β· +1% this week
44
forks Β· 0 open issues

Star history (as recorded here)

2026-10-20 Β· 200 β˜… 2026-10-23 Β· 201 β˜…
LanguagePython
LicenseMIT
Created2026-09-21 (1mo ago)
Last pushtoday
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
# CC-Checker-Validator-Generator
Python CLI toolkit for payment QA: generate and validate synthetic Luhn-valid card numbers by brand, BIN, or custom pattern. Supports Visa, Mastercard, Amex, Discover and more, plus BIN/IIN lookup, expiry/CVV checks, bulk validation, masking, and TXT/CSV/JSON export. Offline and cross-platform.
---
# CC Checker
**Card Generator & Validator β€” Luhn, BIN/IIN Lookup, Bulk QA Testing**
---
*Developer toolkit for payment integration testing: real Luhn validation, synthetic test-card generation by brand/BIN/pattern, offline BIN/IIN lookup and multi-threaded bulk checks β€” built for QA against Stripe, Adyen, Braintree or your own gateway sandbox.*
Features Β· How Luhn Works Β· Brands & BINs Β· Getting Started Β· Configuration Β· Usage Β· FAQ
---
> ⚠️ **For testing only.** Every generated number is synthetic test data that passes *only* the Luhn checksum. These are not real payment cards and hold no monetary value. Use them in sandbox environments β€” never against live payment endpoints.
---
## Features
### Validation Engine
| Feature | Status |
|---------|--------|
| Luhn Mod-10 Check (real) | βœ… |
| Brand Detection (8 schemes) | βœ… |
| Per-Brand PAN Length Check | βœ… |
| CVV Format Check | βœ… |
| Expiry Window Check | βœ… |
| Offline BIN/IIN Lookup | βœ… |
| Bulk File Validation (MT) | βœ… |
| PAN Masking on Output | βœ… |
### Generation Engine
| Feature | Status |
|---------|--------|
| Luhn-Valid by Construction | βœ… |
| Per-Brand Generation | βœ… |
| Custom BIN Prefix | βœ… |
| Pattern Templates (`#` slots) | βœ… |
| Expiry & CVV Slots | βœ… |
| 15/14/19-Digit Edge Cases | βœ… |
| TXT / CSV / JSON Export | βœ… |
| 100% Offline | βœ… |
---
## How Luhn Works
The Luhn algorithm (ISO/IEC 7812-1) is the mod-10 checksum every major card scheme uses. It catches ~90% of single-digit typos and transpositions **before** you burn a network call on your gateway sandbox:
 [code] 
Generation works the same way in reverse: fill the payload digits, then compute the check digit that makes the sum a multiple of 10. That's why every number this tool generates passes Luhn **by construction** β€” and why Luhn alone proves nothing about a card being real.
---
## Brands & BIN Support
| Brand | Prefixes | PAN Length | CVV |
|-------|----------|:----------:|:---:|
| **Visa** | 4 | 16 | 3 |
| **Mastercard** | 51–55, 2221–2720 | 16 | 3 |
| **American Express** | 34, 37 | 15 | 4 |
| **Discover** | 6011, 65 | 16 | 3 |
| **Diners Club** | 36, 38, 30 | 14 | 3 |
| **JCB** | 3528–3589 | 16 | 3 |
| **UnionPay** | 62 | 16–19 | 3 |
| **Maestro** | 5018, 5020, 5038… | 12–19 | 3 |
The bundled offline BIN/IIN table resolves issuer, card type (credit/debit/prepaid) and country from the 6- or 8-digit prefix. Swap in your own ISO-aligned CSV at `data/bin_ranges.csv` β€” lookups never hit the network.
### Template syntax
 [code] 
---
## Getting Started
### Prerequisites
- **Python** 3.10 or higher
- **pip** (latest recommended)
- A payment gateway sandbox account (Stripe, Adyen, …) to test against