IBAN Toolkit logoIBAN Toolkit

Free IBAN Generator

Structurally valid test IBANs for 89 countries: correct mod-97 check digits, official registry formats. Free forever, no signup, nothing leaves your browser.

Generate test IBANs

Pick a country, choose how many you need, hit generate.

Same country + seed + row order gives the same test values. Leave blank for random samples. Seed algorithm: v1. Do not enter personal data.

Every IBAN passes the ISO 13616 mod-97 checksum and matches its country’s official length and structure: but uses randomly generated components and is not checked against live account directories.

How this tool works

This tool is designed for testing, education and workflow prototyping. It validates or generates structurally correct values based on published format rules and clearly states where no live-bank lookup is performed.

What is a test IBAN?

An IBAN (International Bank Account Number) is the standardized identifier banks use for cross-border transfers. A test IBAN looks and behaves exactly like a real one: same length, same structure, same check digits: while using randomly generated components; it is not proof that any live account exists. Developers and QA teams use them to test payment forms, banking integrations, and data pipelines without touching real customer data.

How this generator works

1

Pick a country

Each of the 89 supported countries has an official IBAN length and BBAN structure from the SWIFT IBAN registry: for example, Germany uses 22 characters with an 8-digit bank code and 10-digit account number.

2

Random BBAN

A random Basic Bank Account Number is built following that country’s exact format: digits where digits belong, letters where letters belong.

3

Real check digits

The two check digits are computed with the ISO 13616 mod-97 algorithm, so every generated IBAN passes standard mathematical checksum validation.

Who uses test IBANs?

  • Developers building checkout, invoicing, or payout flows that accept IBANs.
  • QA engineers writing automated tests for form validation and payment edge cases.
  • Fintech teams seeding demo environments and sandboxes with realistic data.
  • Students and trainers learning how the mod-97 checksum and IBAN structure work.

Anatomy of an IBAN

Every IBAN has up to 34 characters: a 2-letter country code, 2 check digits, and the country-specific BBAN (bank + branch + account details). Here is how a German test IBAN breaks down:

PartExampleMeaning
Country codeDEGermany (ISO 3166)
Check digits89mod-97 checksum
Bank code370400448-digit Bankleitzahl
Account number053201300010-digit account

Best practices

  • Use test IBANs for format and UI testing only. For end-to-end payment tests, use the official test credentials from Stripe, Adyen, or PayPal sandboxes.
  • Never paste generated IBANs into real banking apps or transfer forms.
  • Need hundreds at once? Use our bulk fake IBAN generator with CSV/JSON export.

Frequently asked questions

Yes: unlimited generation, no account, no watermarks. Everything runs in your browser.
No. They pass the mod-97 checksum so validators accept their format, but the bank and account parts are random and are not checked against live account directories. Never use generated values for actual transfers.
All 89 countries in the official IBAN registry: across Europe, the Middle East, Africa, Asia and the Americas: each with its exact length and BBAN structure.
For UI and form-validation testing, yes. For end-to-end payment testing, always use the official test credentials from each provider's sandbox docs: processors often require provider-specific sandbox values, so use each provider's documented test credentials.
Per ISO 13616: move the first 4 characters to the end, convert letters to numbers (A=10 … Z=35), then check digits = 98 − (number mod 97).
Generating random test data for development and QA is standard industry practice. Using generated numbers to deceive or defraud is illegal. This tool is for testing and education only.
Testing and educational use. Generated identifiers are synthetic and are not checked against live bank directories. A randomly generated value can coincidentally resemble or match a real identifier. Never use generated data for real payments, account applications, identity verification, or to represent a real person or institution.