How to use the IBAN generator
- Choose the Mode: Generate test IBANs or Validate an IBAN.
- To generate, pick a Country format (DE, GB, FR, ES, NL, BE, CH, AT, IE, LU, NO, PT, AE or SA; the menu shows each length) and How many IBANs (up to 200).
- To validate, paste the IBAN. Spaces and dashes are ignored.
- Read the list, or the Result with the checks table.
What it does and when to use it
Payment software must accept good IBANs and reject bad ones, and testers need plenty of both. Real customer IBANs should not leave the bank’s systems, so test values are the safe choice. This tool makes IBANs that are correct in format and check digits, so you can test the paths after validation, and its checker shows exactly why a bad IBAN fails.
Generated IBANs are for testing and teaching only. They are not accounts, and they will not receive money.
For other format-valid test numbers, see the ISIN generator for securities and the credit card test numbers published by payment providers. For other identifier formats, the VIN generator uses a similar generate-and-validate layout.
How it works
An IBAN is a country code, two check digits and a national account number (the BBAN). To generate one, the tool fills the BBAN with random characters from crypto.getRandomValues, following the country’s pattern of letters and digits. For France, Spain, Belgium, Portugal and Norway it then works out the national check digits too.
The IBAN check digits use ISO 7064 mod 97:
- Move the country code and two zeros to the end of the BBAN.
- Replace each letter with a number (A = 10 … Z = 35).
- Check digits = 98 − (that number mod 97), padded to two digits.
To validate, the tool moves the first four characters to the end, converts letters, and checks that the remainder mod 97 is 1.
Worked examples
- The standard UK example.
GB82 WEST 1234 5698 7654 32passes every row: length 22, structure4a,14n, check digits 82, givingResult: Valid. - One wrong digit.
DE89 3704 0044 0532 0130 01has the right length and structure but fails withMod-97 check digits | 89 — wrong (expected 62). The correct example ends in00. - A French IBAN.
FR14 2004 1010 0505 0001 3M02 606passes mod-97 and also showsNational check digits | correct, the French RIB key.
Limits and tips
- Validation does not look up bank codes or BIC/SWIFT codes.
- Countries that join the IBAN system later will not be known until the tool’s table is updated.
- When testing, use the bulk fake data generator for names, never real people’s details next to a test IBAN.
Frequently asked questions
Are generated IBANs real bank accounts?
What can I use test IBANs for?
Does "Valid" mean the account exists?
Which countries can it check?
Why is my IBAN invalid when I copied it from a bank letter?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.