An IBAN (International Bank Account Number) is a standardised, internationally agreed way of identifying a bank account. It does not replace your account: it wraps your existing national account details in a format that any bank in a participating country can parse, validate and route. If you have ever typed a string like DE89 3704 0044 0532 0130 00 (a widely published registry example) into a transfer form, you have used one.
Why it exists
Before IBANs, cross-border payments in Europe were error-prone. Every country had its own account-number format, its own way of identifying banks and branches, and no shared method for catching typos. A digit swapped in a French RIB or a German Kontonummer often surfaced only when the payment bounced days later, with fees attached. In the 1990s the European Committee for Banking Standards, together with ISO, designed a common envelope for national account numbers. That work became ISO 13616, first published in 1997 and revised since, most notably in 2007 when the standard was split into the format definition and the registry procedures.
Under ISO 13616, SWIFT serves as the registration authority. Each country that adopts IBANs submits its exact national layout, and SWIFT publishes the result in the official IBAN Registry, which specifies, per country, the total length, which positions are digits or letters, and how the domestic account number maps into the structure. When a validation library knows that a Belgian IBAN is 16 characters and a Polish one 28, that knowledge comes from the registry.
Anatomy of an IBAN
Every IBAN has the same three-part skeleton:
- Country code (2 letters): the ISO 3166-1 alpha-2 code, such as
FRorNL. - Check digits (2 digits): computed with the ISO 7064 mod-97-10 algorithm over the whole rearranged IBAN. They catch single-character typos and most transpositions before a payment is even submitted.
- BBAN (Basic Bank Account Number): the country-specific part, up to 30 characters. It typically encodes a bank identifier, often a branch identifier, the account number, and in many countries a national check digit of its own.
The BBAN is where countries differ. Germany packs an 8-digit bank code and a 10-digit account number into 18 digits. The United Kingdom uses a 4-letter bank code, a sort code and an account number. Italy adds a national check letter. The IBAN’s outer structure stays constant so software can treat all of them uniformly.
What an IBAN is not
An IBAN is an identifier, not a guarantee. A string can be perfectly valid, correct length, correct format, passing check digits, and still belong to no account at all, or to a different person than you expect. That is why EU banks now run Verification of Payee name checks before executing transfers. Validation tells you the string is well-formed; only the banking system can tell you whether the account exists.