Visa card number format
Visa numbers start with 4, have 16 digits and a 3-digit security code. The last digit is a Luhn check digit, which lets forms catch typos before sending the card to the payment provider.
Official sandbox test numbers for Visa
These work in the providers' test mode (unlike generated numbers):
| Provider | Number | Scenario |
|---|---|---|
| Stripe | 4242424242424242 | Successful payment |
| Stripe | 4000056655665556 | Success (debit) |
| Stripe | 4000000000000002 | Declined — generic_decline |
| Stripe | 4000000000009995 | Declined — insufficient_funds |
| Stripe | 4000000000009987 | Declined — lost_card |
| Stripe | 4000000000009979 | Declined — stolen_card |
| Stripe | 4000000000000069 | Declined — expired_card |
| Stripe | 4000000000000127 | Declined — incorrect_cvc |
| Stripe | 4000000000000119 | processing_error |
| Stripe | 4000000000006975 | Declined — card_velocity_exceeded |
| Stripe | 4242424242424241 | incorrect_number (fails Luhn) |
| Stripe | 4000002500003155 | 3DS: authenticate unless set up |
| Stripe | 4000002760003184 | 3DS: always authenticate |
| Stripe | 4000000000003220 | 3DS2 required → OK |
| Stripe | 4000000032200000 | 3DS2 required → frictionless success |
| Stripe | 4000008400001629 | 3DS required → declined after auth |
| Stripe | 4000008260003178 | 3DS → insufficient funds after auth |
| Stripe | 4100000000000019 | Fraud: always blocked (Radar) |
| Stripe | 4000000000004954 | Fraud: highest risk |
| Stripe | 4000000000009235 | Fraud: elevated risk |
| Stripe | 4000000000000101 | CVC check fails |
| Adyen | 4111111111111111 | Successful payment |
| Adyen | 4400000000000008 | Success (debit, US) |
| Adyen | 4917610000000000 | 3D Secure 2 enrolled |
| Adyen | 4166676667666746 | 3D Secure 2 enrolled (Classic) |
FAQ
How many digits does a Visa card have?
16 digits, with a 3-digit security code.
Are generated card numbers real?
No. They follow the brand's prefix and length rules and pass the Luhn checksum, so they look valid to front-end validation, but they are random and not linked to any bank account. Any real authorization will fail.
What can I use them for?
Testing checkout form validation, input masks and brand detection, filling QA databases and fixtures, UI screenshots and demos, and load-testing tools that only need well-formed numbers.
Can I use them in Stripe or Adyen test mode?
Usually no — sandboxes only accept their own published test numbers. Use our test cards list for gateway testing.