How to use this list
- Choose a Provider: All, Stripe or Razorpay.
- Tick or untick Group digits to show numbers in blocks of four or as one string.
- Copy a number from the table, or download the whole table as a CSV file.
- Paste it into your app’s checkout while your Stripe or Razorpay account is in test mode.
What this page is for
When you build a checkout, you need card numbers that behave in a predictable way: one that always succeeds, one that always declines, one that asks for 3D Secure. Stripe and Razorpay publish exactly these numbers for their sandboxes. This page gathers them in one table, with the scenario each one triggers, so you don’t have to dig through two sets of docs.
The page used to be a “test card generator”. It no longer makes up numbers. A number that only passes the Luhn checksum is not a test card: a payment provider’s test mode recognises its own published numbers and nothing else. Random numbers are also easy to misuse, so we removed that feature.
How it works
The table comes from a fixed list copied from the providers’ documentation, with the date we last checked it. Nothing is calculated except the Luhn valid column, which runs the standard checksum on each number so you can see that every listed card is well formed. You can check any number yourself with the Luhn Validator.
Everything runs in your browser. Nothing you type or copy here is sent anywhere.
Worked examples
- Stripe only, digits not grouped: the first row is Stripe’s standard Visa test card,
4242424242424242, for a successful payment with any 3-digit CVC and any future date. - Razorpay only, digits not grouped: the first row is Razorpay’s Visa debit card for Indian payments,
4100280000001007.
Testing tips
- Keep separate API keys for test and live mode. Test cards only work with test keys.
- Test failures as well as successes. Stripe’s decline cards (generic decline, insufficient funds, lost or stolen card, expired card, wrong CVC, processing error) show how your app handles each error message.
- Test 3D Secure. Stripe’s
4000000000003220asks for authentication, so you can check the extra step on mobile. - To compare what a real payment would cost in fees, try the Stripe Fee Calculator.
- For order references in your test data, the Order Number Generator and Invoice Number Generator make realistic IDs.
Limits
- Only Stripe and Razorpay are listed. Other providers (PayPal, Adyen, Braintree and others) publish their own test numbers in their developer docs.
- Providers add and retire test cards. The list was checked on 2 October 2026; the provider’s page is always the final word.
- These numbers never work for real purchases, and this page does not create new numbers.
Frequently asked questions
Can these numbers buy anything?
Why doesn't this page generate card numbers any more?
What CVC and expiry date should I use?
How do I test a declined payment?
Where do these numbers come from?
Sources
- Testing — test card numbers — Stripe, accessed 2026-10-02
- Test card details — Razorpay, accessed 2026-10-02
How do we know nothing is uploaded? Test it yourself on the privacy proof page.