What Is an IBAN? Structure, Checksum and How to Validate One
If you have sent or received money internationally, you have used an IBAN. It looks like a long, intimidating string of letters and numbers, but it is a carefully structured code with a built-in error check. Understanding it helps you avoid a costly mistake: sending money to the wrong, or a malformed, account.
What IBAN means
IBAN stands for International Bank Account Number. It is a standardized way to identify a specific bank account in a way that works across countries, so banks can route cross-border payments reliably. It was designed to reduce the errors and delays that came from every country using its own account-number format.
The structure of an IBAN
Read left to right, an IBAN has three parts:
- Country code — two letters (e.g.
DEfor Germany,GBfor the UK,SAfor Saudi Arabia). - Check digits — two numbers used to validate the whole IBAN with a checksum.
- BBAN — the Basic Bank Account Number, the country's own domestic format, which itself contains the bank code, branch and account number.
For example, in DE89 3704 0044 0532 0130 00: DE is Germany, 89 are the check digits, and the rest is the German domestic account identifier. Each country has a fixed IBAN length — Germany is always 22 characters, the UK 22, France 27 — which is itself a useful validation clue.
How IBAN validation works (MOD-97)
The two check digits make the IBAN self-verifying using the ISO 7064 MOD-97-10 algorithm. The steps are:
- Move the first four characters (country code + check digits) to the end.
- Replace each letter with two digits: A = 10, B = 11, … Z = 35.
- Treat the result as one big number and take it mod 97.
- If the remainder is 1, the IBAN passes.
You do not have to do this by hand — the IBAN Validator runs the MOD-97 check and the country-length check instantly, and can even generate synthetic (check) IBANs. Paste an IBAN and it tells you the country, the check digits and whether it is well-formed.
What a valid IBAN does — and does not — prove
A passing IBAN means the number is correctly formed for its country: the length is right and the checksum holds. It does not prove the account is open, active, or belongs to the person you expect. The checksum exists to catch typos and transposed characters before a payment is submitted — always confirm the account details directly with the recipient.
IBAN vs SWIFT/BIC vs routing number
- IBAN identifies the account (used across Europe, the Middle East and more).
- SWIFT/BIC identifies the bank for international messaging — look these up in the SWIFT/BIC directory. International wires often need both IBAN and BIC.
- ABA routing number is the US equivalent of a bank identifier for domestic ACH and wires — validate one with the Routing Number Lookup.
Before you send money abroad
Three quick checks save a lot of pain: confirm the country code is right, run the IBAN through the validator to catch a typo, and make sure you also have the recipient's SWIFT/BIC if the transfer is international. A minute of checking beats a transfer bouncing — or worse, landing in the wrong account.