An IBAN carries its own checksum. Move the country code to the end, convert letters to numbers, take the whole thing modulo 97, and a valid IBAN gives 1. Every IBAN here does — which means your validation library accepts them and you get to test what happens next.
What you can control
- Ten country formats, each with its correct total length and BBAN structure.
- Check digits are computed with the real ISO 13616 mod-97-10 algorithm, not faked.
- Grouped or unbroken display, matching how banks print them versus how systems store them.
- Matching SWIFT/BIC codes in the correct 8- or 11-character shape.
What this is not
The check digits are genuinely valid, but no bank holds these accounts. A payment initiated to one will fail at the clearing stage rather than at your form.
Questions
Will an IBAN validator accept these?
Yes. The mod-97 checksum is correctly computed, so any standards-compliant validator will pass them. Some validators additionally check the bank code against a registry, and those will not.
Are the SWIFT codes real?
No. They follow the correct 8- or 11-character structure with the right country code in positions five and six, but no bank is registered under them.
Why do IBAN lengths differ by country?
Each country defines its own BBAN layout — Belgium uses 12 digits, France 23, Portugal 21. The total length is fixed per country, which is itself a useful validation rule.