All Tools
Tools/Test Card Generator
⚙️
Card DataAvailable

Test Card Generator

Published test card numbers for Visa, Mastercard, Amex, Discover, JCB, Diners and UnionPay — with the CVC, expiry and ZIP rules — for approved, declined, CVC/AVS check and 3D Secure scenarios. A selection of Stripe’s official test cards plus classic PayPal Payflow and Braintree sandbox numbers.

Follows Stripe test cards · Braintree and PayPal Payflow sandbox lists · ISO/IEC 7812-1 Luhn·verified Oct 2026· double-checked Oct 2026— 31 PANs Luhn- and IIN-checked independently; Stripe rows confirmed from Stripe’s own repository fixtures, seven from secondary copies

Use test data only. All calculations run locally in your browser — PayProbe never sees, transmits, or stores your PAN, CVV, keys, PINs, or cryptographic inputs. How we handle data →

SchemePANExpiryCVCScenarioWorks inNotes
Visa424242424242424212/29123ApprovedStripeThe standard Stripe test card
Visa400005665566555612/29123ApprovedStripeVisa debit
Mastercard555555555555444412/29123ApprovedStripeMastercard
Mastercard222300312200322212/29123ApprovedStripeMastercard 2-series BIN
Mastercard520082828282821012/29123ApprovedStripeMastercard debit
Mastercard510510510510510012/29123ApprovedStripeMastercard prepaid; also on PayPal Payflow’s list
Amex37828224631000512/291234ApprovedStripe15 digits, 4-digit CVC
Amex37144963539843112/291234ApprovedStripeSecond Stripe Amex
Discover601111111111111712/29123ApprovedStripeDiscover
Discover601100099013942412/29123ApprovedStripeDiscover (alternative)
Diners305693000902000412/29123ApprovedStripeDiners Club, 16 digits
Diners3622720627166712/29123ApprovedStripeDiners Club, 14 digits
JCB356600202036050512/29123ApprovedStripeJCB
UnionPay620000000000000512/29123ApprovedStripeUnionPay
Visa400000000000000212/29123Generic declineStripecard_declined / generic_decline
Visa400000000000999512/29123Insufficient fundsStripecard_declined / insufficient_funds
Visa400000000000998712/29123Lost cardStripecard_declined / lost_card
Visa400000000000006912/29123Expired cardStripeexpired_card, even with a future expiry date
Visa400000000000012712/29123Incorrect CVCStripeincorrect_cvc
Visa400000000000011912/29123Processing errorStripeprocessing_error
Visa400000000000010112/29123CVC check failsStripeIf you send a CVC, cvc_check = fail; declined if your Radar rules block failed CVC checks
Visa400000000000002812/29123Address check failsStripeaddress_line1_check = fail; succeeds unless a custom Radar rule blocks it
Visa400000000000003612/29123ZIP check failsStripeIf you send a postal code, address_zip_check = fail; declined if your Radar rules block failed ZIP checks
Visa400000000000004412/29123Checks unavailableStripeaddress_line1_check and address_zip_check = unavailable; succeeds unless a Radar rule blocks it
Visa400000000000322012/291233DS requiredStripe3DS2 authentication must be completed to succeed
Visa400000000000305512/291233DS supportedStripe3DS may run but is not required; not requested by default
Visa400000840000162912/291233DS then declinedStripe3DS required; declined (card_declined) after authentication
Visa411111111111111112/29123Usually approvedBraintree, PayPal PayflowThe most widely listed test Visa
Diners3056930902590412/29123Usually approvedPayPal Payflow14-digit Diners Club; Payflow’s test number (not on Braintree’s list)
Diners3625960000000412/29123Usually approvedBraintree14-digit Diners Club; Braintree’s test number
JCB353011133330000012/29123Usually approvedBraintree, PayPal PayflowClassic test JCB
Use any future expiry date, any 3-digit CVC (4 digits for Amex) and any ZIP or postal code unless a row says otherwise. These numbers only work in test mode / sandboxes — a live payment with them is declined. Never use real card numbers in test systems.

What this generator is for

Payments engineers cannot test an authorisation flow, a tokenisation pipeline, or a fraud rule against real cardholder data — that would be a PCI DSS violation. Instead they use test card numbers: synthetic PANs that are structurally valid (correct BIN range, correct length, passing the Luhn check) but are not linked to any real account and cannot move money. This tool collects those values for sandbox and certification environments: it lists published test numbers rather than generating random ones (for random Luhn-valid PANs and track data use the Card Data Generator).

The numbers are ones gateways publish for exactly this purpose: a selection of Stripe’s official test cards (see Stripe’s testing docs for the full list), plus classic numbers from the PayPal Payflow and Braintree sandbox lists — the “Works in” column says which. Other gateways accept only their own lists. They are recognised only by test/sandbox systems; presenting one to a live acquirer simply returns a decline. Use them to seed unit tests, drive checkout scenarios, or validate that your software handles each scheme’s format correctly.

Which CVC, expiry date and ZIP code should I use?

With Stripe test cards any future expiry date works, any 3-digit CVC (4 digits for American Express) and any ZIP or postal code. The CVC and address checks only fail when you use the cards made for that: 4000 0000 0000 0101 fails the CVC check, 4000 0000 0000 0028 the address line check and 4000 0000 0000 0036 the ZIP (postal code) check. The CVC and ZIP checks only run when you send a CVC or postal code; the payment then succeeds unless your Radar rules block failed checks, in which case it is declined — so you can test how your checkout and Radar rules react. 4000 0000 0000 0127 declines with incorrect_cvc. Other gateways publish their own rules (some use fixed CVC values or amounts to trigger results), so check your provider's sandbox documentation.

Why do test numbers fail on a live site?

Test PANs are not linked to any account. A sandbox recognises them and simulates a result; a live gateway sends them to the card network like any other number and gets a decline. To try a real payment end to end, use a real card for a small amount and refund it.

What it is not

This generator does not and cannot create working payment credentials. It has no access to issuer systems, generates no valid CVVs or cryptograms for real accounts, and produces nothing that can authorise a transaction. Never enter a real card number into any test system, and never use a generated number to attempt a real payment.

Something wrong or missing? Report a problem— we check reports against the specs and fix them.