How are test IBANs and card numbers generated?
An IBAN follows a per-country structure from the SWIFT registry (SA: 24 characters, two check digits computed mod 97), and a card number passes the Luhn check digit and starts with a real issuer range. Test values are generated to satisfy exactly those rules — so validators accept them — while their account and card digits are random rather than copied from a real account or card.
The example’s Saudi IBAN, without its spaces
Part 1:SAPart 2:88Part 3:23Part 4:118993526147632783
- 3–4BBAN: bank code + account number
- 1Country codeSets the length and BBAN layout: 24 characters for SA.
- 2Check digitsComputed from the other characters with MOD-97, so validators accept the IBAN.Computed
- 3Bank code2 digits; random, so it can match a real bank.Random
- 4Account number18 digits, not taken from any real account.Random
How to use Test IBAN Generator
- Pick a country or Mixed.
- Enable "wrong check digits" if you need failing cases.
- Set the count and format and press Generate.
- Use the valid column to assert your validator's verdict.
Test IBAN Generator features
- Ten countries: SA, JO, AE, GB, DE, FR, EG, QA, KW, BH with the correct length and BBAN layout
- ISO 13616 MOD-97 check digits — validators accept every generated IBAN
- French IBANs include a correct RIB key
- Fictional 4-letter bank codes (TEST, DEMO, MOCK…) for JO, GB, QA, KW and BH; numeric bank codes (SA, AE, DE, FR, EG) are random and can match a real bank
- Optional rows with wrong check digits for negative tests, flagged in a valid column
- Grouped 4-character formatting alongside the compact form
- Seedable; JSON, CSV, SQL, XML, JSON Lines or table output
Test IBAN Generator example
Saudi and British IBANs
Input:
Country: Mixed · IBANs: 2Output:
SA88 2311 8993 5261 4763 2783 SA valid
GB42 TEST 4021 5583 9010 21 GB validFrequently asked questions about Test IBAN Generator
Will validators accept these IBANs?
Yes. Each IBAN has the correct length and BBAN layout for its country and passes the ISO 13616 MOD-97 check, so structural validators return "valid".
Are these real bank accounts?
No. Branch and account digits are random, and the 4-letter bank codes used for Jordan, the UK, Qatar, Kuwait and Bahrain are fictional (TEST, DEMO, MOCK…). Numeric bank codes (Saudi Arabia, UAE, Germany, France, Egypt) are random digits that can match the code of a real bank, so such an IBAN may name a real bank, but its account number is not taken from any real account.
Which countries are supported?
Saudi Arabia, Jordan, UAE, United Kingdom, Germany, France (with a correct RIB key), Egypt, Qatar, Kuwait and Bahrain.
Can I get invalid IBANs for negative tests?
Tick "wrong check digits" to make every fourth row fail the MOD-97 check; the valid column tells you which.
Technical notes
The check digits are computed by moving the country code and "00" to the end, replacing letters with numbers (A=10 … Z=35) and taking 98 minus the remainder modulo 97, exactly as ISO 13616 specifies. The tool re-validates every IBAN it emits.
- 1Move the country code and “00” to the endThe BBAN comes first, then
SA00.23118993526147632783SA00 - 2Replace letters with numbersA=10 … Z=35, so S=28, A=10.
23118993526147632783281000 - 3Take the remainder modulo 97The 26-digit number leaves 10.
mod 97 = 10 - 498 minus the remainderThe result, as two digits, is the check digits.
98 − 10 = 88 → SA88… - 5The tool re-validates the IBANWith 88 in place of “00”, the same steps leave remainder 1: valid.
23118993526147632783281088 mod 97 = 1Pass
References
- IBAN RegistryThe official register of national IBAN formats (length, structure and check-digit rules per country), maintained under ISO 13616.
- Personal Data Protection Law (English translation)The Saudi law governing personal data — why test environments should use synthetic data rather than copies of real customer records.