Stripe test card numbers are fake card numbers that work with Stripe test API keys. The most used number is 4242 4242 4242 4242. Stripe publishes the list at no cost. Each test card returns a fixed result: a success or a named decline code. The card decides the result, not the code you write.

Core test cards

These cards return a successful charge in test mode. They match the major brands and card types.

  • 4242 4242 4242 4242, Visa, credit
  • 4000 0566 5566 5556, Visa, debit, United States
  • 5555 5555 5555 4444, Mastercard, credit
  • 5200 8282 8282 8210, Mastercard, credit
  • 5105 1051 0510 5100, Mastercard, prepaid
  • 3782 822463 10005, American Express, 15 digits
  • 3714 496353 98431, American Express, 15 digits
  • 6011 1111 1111 1117, Discover
  • 3056 9300 0902 0004, Diners Club, 14 digits
  • 3625 9600 0000 08, Diners Club, 14 digits
  • 3566 0020 2036 0505, JCB
  • 6200 0000 0000 0005, UnionPay

Decline cards

Each number below triggers one specific decline. Use them to test error handling on your checkout page.

  • 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
  • 4000 0000 0000 0341, card attaches to a customer, later charges decline
  • 4000 0000 0000 0259, blocked by Stripe Radar at the highest risk level

Rules for every test card

  • Any 3 digit CVC works on the success card. American Express uses 4 digits.
  • Any future expiry date works. Use 12/34 if you want a value that stays valid.
  • Any billing ZIP works on the success card. Cards that test postal code checks need the exact ZIP in the Stripe list.
  • Numbers pass the Luhn check. That is why they look like real cards.
  • The numbers work with sk_test_ and pk_test_ keys. Live keys reject them.
  • No money moves. No bank is contacted.

3D Secure test cards

Stripe keeps a separate set of cards that force an authentication step. One common value is 4000 0025 0000 3155. Stripe adds and retires these numbers over time. Confirm the current value in the Stripe test card list before you build a schedule around it.

Test mode keys

Test mode is a separate data space. Publishable keys start with pk_test_ and secret keys start with sk_test_. Objects made in test mode do not appear in live mode, and the reverse holds. The Stripe CLI can fire events with a command such as stripe trigger payment_intent.succeeded. Test clocks set subscription dates to a point you pick.

What test cards do not cover

Test cards do not exercise a real acquirer, a real issuer, or a real bank. A decline code in test mode is a script, not a network response. Test mode skips issuer rules, risk rules from outside Stripe, and settlement. Real card numbers do not belong in a test environment. Test numbers do not belong in production.