What is a Stripe test card CVV generator?
Stripe does not make a CVV generator. In test mode, the Stripe API accepts any 3-digit CVC, and any 4-digit CVC for American Express, when you pair it with one of Stripe's published test card numbers. The "generated" code is just a value you type into the field, such as 123, 000, or 999.
Test cards run on test API keys and inside the test dashboard. They fail on live keys. That split is what keeps sandbox work separate from real money.
Stripe Test Card CVV Number Guide
How do you generate a CVC for a Stripe test card?
- Switch the dashboard to test mode, or use an API key that starts with sk_test_.
- Pick a test card number, such as 4242 4242 4242 4242.
- Type any 3-digit number in the CVC field (4 digits for Amex). Both 123 and 000 pass.
- Use any future expiry date, such as 12/34.
- Use any 5-digit ZIP, such as 12345, unless you are testing address verification.
Submit the payment and Stripe returns a test charge, or a PaymentIntent with the status succeeded. The CVC digits you entered play no part in the result.
Stripe Test Card CVV Code: Any CVC Works in Test Mode
Stripe test card numbers to pair with a test CVC
- Visa: 4242 4242 4242 4242
- Visa debit: 4000 0566 5566 5556
- Mastercard: 5555 5555 5555 4444
- Mastercard debit: 5200 8282 8282 8210
- American Express: 3782 822463 10005 (4-digit CVC)
- Discover: 6011 1111 1111 1117
- JCB: 3566 0020 2036 0505
- Diners Club: 3056 9300 0902 0004
- UnionPay: 6200 0000 0000 0005
Each number maps to one brand and one region. Use them to check how your checkout renders the CVC box, the brand icon, and any ZIP prompt.
stripe test card cvv generator
Which test cards force a specific decline code?
Stripe ships dedicated cards for failure paths. Pair each number with any test CVC.
- 4000 0000 0000 0002 returns generic_decline
- 4000 0000 0000 9995 returns insufficient_funds
- 4000 0000 0000 9987 returns lost_card
- 4000 0000 0000 9979 returns stolen_card
- 4000 0000 0000 0069 returns expired_card
- 4000 0000 0000 0119 returns processing_error
- 4000 0000 0000 0127 returns incorrect_cvc
The incorrect_cvc card matters most for CVC logic. It declines even when you type a valid-looking 3-digit value, so you can test your error copy and retry flow.
Does a test CVC pass real CVC validation?
No card network is involved in test mode. Stripe's test infrastructure matches the card number against a fixture and returns a stored response. Your CVC digits are ignored unless you use the incorrect_cvc card.
That means you cannot reproduce a live issuer's mismatch behavior in the sandbox. Cover the path with the incorrect_cvc test card and confirm your app shows the right message to the shopper.
How do you test 3D Secure?
Stripe provides 3DS test cards. The number 4000 0025 0000 3155 triggers an authentication step that then succeeds, and 4000 0084 0000 1629 triggers a step that then fails. Any test CVC works with both.
How do you confirm the test payment went through?
Open the Payments list in the dashboard with test mode on. The event log shows payment_intent.succeeded along with the charge object. In code, read the status field from the server response instead of trusting a client-side redirect.
For subscription work, a test clock lets you move billing dates forward and watch renewal behavior without waiting a month.
Can you test saved cards and later charges?
Yes. Create a SetupIntent with a test card, then charge the saved payment method when you need it. Stripe hands back a test payment method ID that acts like a stored card. Off-session charges succeed on test cards unless you pick one of the decline numbers above.
What about the Stripe CLI and test tokens?
Stripe also supports legacy test tokens such as tok_visa and tok_mastercard, which skip raw card entry. The CLI command stripe trigger payment_intent.succeeded builds a full test payment with no card fields at all.
How should your checkout handle the CVC field?
Stripe.js renders the CVC input inside an iframe, so raw digits never touch your server. Keep the field at 3 digits by default and switch to 4 when the detected brand is Amex. Test both paths with the cards listed above before you ship.
Log the decline code, never the CVC value. Storing a CVC after authorization breaks PCI DSS rules, even in a staging database.
Common mistakes when testing card fields
- Using a test card with a live publishable key, which fails the payment and can flag your account.
- Assuming the browser validates the CVC digits. Stripe.js checks length and format only.
- Hardcoding 4242 4242 4242 4242 into a production code path.
- Forgetting that Amex uses a 4-digit CVC, which breaks a 3-digit field limit.
- Skipping declined-card tests, which leaves error handling untested.
FAQ
Is there an official Stripe CVV generator tool?
No. Stripe publishes test card numbers and states that any CVC value works in test mode. Sites that claim to generate valid CVVs for real cards are either scams or fraud tools.
Do Stripe test cards work in live mode?
No. Test card numbers decline on live keys. Using them against a live account violates Stripe's terms.
What expiry date and ZIP should I use?
Any future expiry works, such as 12/34. Any 5-digit ZIP works unless you test postal code checks, where certain values trigger address verification failures.
Can a test CVC verify a real card?
No. Test CVC values have no link to a real account. Verifying a card requires a real authorization from the issuer.