Test Credit Card Generator — Luhn-Valid Dummy Numbers

Generate Luhn-valid Visa, Mastercard, Amex, and Discover test card numbers with expiry and CVV for payment-form QA and fixtures. Not a real payment method.

Loading…
Test credit card numbers — developer notes
Luhn-valid Visa/Mastercard/Amex/Discover dummy numbers built from public sandbox prefixes. Cannot be charged. Not a real payment method.

How generation works

Pick a quantity (1–100), a card network (or random), a number format, whether the Luhn checksum should be valid or deliberately invalid, and whether to include a CVV. Expiry is always a random future date. Changing an option refreshes the list immediately. Copy all or download JSON, CSV, SQL, or TXT.

Options

Quantity (1–100)
How many rows to emit for seed jobs. Capped at 100.
Card networks
Toggle any combination of Visa, Mastercard, American Express, and Discover — each uses its own publicly documented sandbox BIN prefix, PAN length (Amex is 15 digits, others 16), and CVV length (Amex is 4 digits). With several selected, rows mix networks; at least one must stay on.
Number format
Grouped adds spaces every 4 digits (or 4-6-5 for Amex) like a real card form. Plain outputs raw digits for API payloads and DB columns.
Luhn checksum
Valid produces a number that passes the Luhn algorithm, like a real PAN. Invalid flips the check digit so the number deliberately fails Luhn — useful for testing that your validation actually rejects bad input.
Include CVV
Appends a random 3-digit CVV (4 digits for Amex) to each line and export. Turn off when only the card number is needed.

Examples

Default Visa fixture

Settings

networks=[visa], format=grouped, checksumValidity=valid, includeCvv=on

Sample output

4111 1111 1111 1111 | Exp 03/29 | CVV 482

Deliberately invalid Amex for negative-path tests

Settings

networks=[amex], format=plain, checksumValidity=invalid, includeCvv=off

Sample output

378282246310006 | Exp 11/28

Related tools

Need a matching name, address, or ID column for the same fixture? Try the test name generator, test address generator, or UUID generator.

Test credit card FAQ

Sandbox prefixes, Luhn, and what this tool is not

Can these card numbers be charged?

No. They are dummy strings for form QA and fixtures, built from publicly documented payment-processor sandbox prefixes. They are not tied to any bank account or cardholder.

Why do the numbers still pass Luhn?

Real payment forms validate the Luhn checksum before ever touching a processor. A test number needs a real checksum to exercise that code path — that's what the valid mode gives you.

What's the invalid checksum toggle for?

It flips the check digit so the number deliberately fails Luhn. Use it to confirm your validation actually rejects malformed card numbers, not just that it accepts good ones.

I searched for a fake credit card generator. Is this it?

If you need Luhn-valid dummy numbers for development, QA, and fixtures, yes. If you're looking for a way to make real purchases, this tool will not do that — and we will not add it.

Test Data

Synthetic field values for fixtures and DB seed — reserved-range phone numbers first.

Explore other tool categories

Minify

Shrink code and assets for production — minify JavaScript, CSS, HTML, JSON and XML before gzip or CDN deploy.

Unminify

Expand minified or compressed code — unminify JavaScript, CSS, TypeScript, SCSS, LESS, SQL, YAML and other formats when debugging or reviewing.

Conversion

Transform data between JSON, YAML, XML and CSV locally — no server uploads.

Encoding

Encode or decode Base64, URL components and HTML entities — client-side only.

Serialization

Serialize and deserialize PHP data structures beside JSON workflows.

JSON Tools

Validate, format, diff and explore JSON payloads — complementary to minifiers and converters.

SVG Tools

Preview, optimize with SVGO, export Data URI, resize, beautify, convert to JSX and validate SVG — all in your browser.

Beautify

Make code readable with consistent indentation — beautify JavaScript, CSS, TypeScript, SCSS, LESS, Markdown, GraphQL, SQL, YAML and more in your browser.

CSS preprocessors

Compile SCSS or LESS to standard CSS in the browser — pair with beautify or minify for a full stylesheet workflow.

Color & CSS Tools

Paste-local WCAG contrast checking with modern CSS color syntax — pair and matrix views, never uploaded.

DevOps & Infra

Terraform HCL format/validate/minify, Dockerfile format & lint, Docker Compose and .env validation.

CI/CD

GitHub Actions and GitLab CI — format YAML and check workflow/job structure in your browser.

Logs & observability

Line-oriented JSON/NDJSON and Nginx/Apache access logs — format, filter, validate, and CSV/TSV.

Kubernetes

Multi-doc manifests, structural validate, Ingress/Deployment starters, and Helm values formatting.

Networking / IP

CIDR, subnets, and IPv4/IPv6 helpers — in your browser.

Security & tokens

JWKS, X.509 certificates, and secrets scan — browser-local.

API & schemas

OpenAPI tools to format, validate, and lint your specs.

HTTP Tools

Paste-local cURL, HTTP messages, URLs, HAR files, and Cookie / Set-Cookie headers — format and inspect in your browser, never sent.

SEO / Web Tools

Generate meta tags, Open Graph, and Twitter Card output locally — previews simulated from your inputs, never fetched from your live site.

Developer utilities

Timestamps, UUID, ULID, Nanoid, cron, passwords, regex, slugify, number bases, case, text diff, and chmod — all client-side.

Text & Markdown

Count words, build Markdown TOCs, and clean line lists — all in your browser.

AI & LLM

Token counting, pricing estimates, and context-window fit — 100% browser-local.