Genory

Credit Card Test Data Generator

Create synthetic card-format samples with Luhn-valid numbers for QA. Review network and coverage notes; use provider sandbox cards for payment tests.

CONFIGURATION

Sets the cardholder’s name locale. Issuer country comes from the BIN reference data.

More options
Output fields

Error scenarios intentionally produce invalid input for local form tests.

Save settings

Sign in to save a configuration. Free includes one.

SYNTHETIC / TEST DATA

Card format samples

Synthetic names, numbers, expiry dates and security codes for form testing. These are not verified payment credentials or payment-provider sandbox fixtures.

####

Choose a network and generate a complete test card.

Use via API · Developer

Automate this configuration in a server-side script. Keep your API key in an environment variable.

const response = await fetch("/api/cards", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.GENORY_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
  "amount": 1,
  "network": "visa",
  "country": "US",
  "scenario": "valid"
})
});
if (!response.ok) throw new Error(await response.text());
const { records } = await response.json();
Explore Developer · $19.90 / 30 days

API access requires Developer. Browser and API generation share your allowance. The API returns the complete record; output field selection only changes the website view and downloads.

PRACTICAL GUIDE

Build card-form fixtures with a clear expected result.

Card format samples help test number grouping, network labels, expiry fields and checksum handling. They are synthetic format data. Use your payment provider’s documented sandbox credentials when testing authorization, declines or a payment confirmation flow.

  1. 01

    Choose the network or scenario

    Match the format to the form behavior you want to test. Include different supported lengths instead of assuming every number has sixteen digits.

  2. 02

    Separate number and companion fields

    Check the number, expiry and security-code fields independently. A number checksum does not validate a date or the other fields.

  3. 03

    Save positive and negative fixtures

    Keep a passing format example, then change one condition at a time. Record whether a failure concerns length, checksum, expiry or your own business rule.

Example: a card-input test matrix

Case A: generated sample → expected format pass
Case B: remove one digit → expected length failure
Case C: change the final digit → expected checksum failure

These are format assertions. Neither a passing checksum nor a plausible expiry implies an issued card or an approved transaction.

LayerUseful assertionSeparate concern
NumberSupported length and checksumIssuance
ExpiryYour application date rulesAccount status
PaymentProvider sandbox scenarioReal authorization

Before you use the result

Practical answers for your next test.

Does Luhn prove a card is real?

No. It is a mathematical consistency check and can be satisfied by synthetic values.

Why should I keep identifiers as strings?

Card numbers are identifiers. Numeric conversion or spreadsheet inference can change their representation.

How do I test an actual decline workflow?

Use the fixtures and test environment documented by your payment provider. A format generator does not simulate issuer decisions.

Guides for this task

All guides →