Stripe test card numbers are fake card details that trigger a chosen response in Stripe test mode. The standard success card is 4242 4242 4242 4242, paired with any future expiry date and any three-digit CVC. Test cards work with test API keys, so no money moves and no real account is charged.
How do you use a Stripe test card number?
You enter test card data anywhere Stripe collects a card in test mode, including Checkout, Elements, and direct API calls. Stripe reads the number and returns the result that number maps to.
- Switch your dashboard to test mode, or use an API key that starts with
sk_test_. - Open your checkout page and type a test card number from the list below.
- Use any future expiry date, such as 12/34, and any CVC.
- Add any billing ZIP code. 12345 works fine in test mode.
- Submit the payment and read the result in the Dashboard under Payments.
Live keys reject these numbers. If a test card seems to work with a live key, the charge is failing for another reason and you should inspect the error object.
Which Stripe test card numbers should you use?
Cards for successful payments
- 4242 4242 4242 4242: Visa, the default success card.
- 4000 0566 5566 5556: Visa debit.
- 5555 5555 5555 4444: Mastercard.
- 5200 8282 8282 8210: Mastercard debit.
- 3782 822463 10005: American Express, 4-digit CVC.
- 3714 496353 98431: American Express, second test number.
- 6011 1111 1111 1117: Discover.
- 3056 9300 0902 0004: Diners Club.
- 6200 0000 0000 0005: UnionPay.
Cards for declined payments
- 4000 0000 0000 0002: generic decline.
- 4000 0000 0000 9995: insufficient funds.
- 4000 0000 0000 0069: expired card.
- 4000 0000 0000 0127: incorrect CVC.
- 4000 0000 0000 0119: processing error.
Cards for tricky payment flows
- 4000 0000 0000 0341: attaches to a customer, then fails on the first charge.
- 4000 0027 6000 3184: runs 3D Secure 2 authentication, then succeeds.
Stripe updates the 3DS test set as the authentication spec changes. Read the current Stripe docs before you build a test plan around those cards.
Do the CVC and expiry date matter for Stripe test cards?
For most test cards, no. Stripe accepts any future expiry date and any 3-digit CVC, or 4 digits for American Express. The one exception is 4000 0000 0000 0127, which returns a CVC failure no matter what you type in the CVC field. That card exists so you can test your failed-CVC handling without guessing.
Do Stripe test card numbers expire?
No. The numbers have no expiry of their own and stay stable across API versions. Stripe does retire cards tied to removed features and adds new ones for new payment flows. A number that worked last year can stop working after a docs update, so check before you rely on it.
Are Stripe test card numbers safe to use?
Yes. Stripe publishes them, and they run against test mode, so nothing settles and no cardholder is charged. Never enter real card data in a test environment, and never enter test data in a live one. Real card data in a test log still counts as a PCI problem.
Common mistakes when testing Stripe payments
- Using a live key and wondering why 4242 fails.
- Expecting a random decline reason. Each test card maps to one specific code.
- Turning on CVC and ZIP checks while using a card that fails them.
- Testing the success path and stopping there. Declines, 3DS, and errors hold most bugs.
- Hardcoding one test card into your suite and never covering other card brands.