Every country in the IBAN system defines its own exact length and BBAN structure. Get either wrong and the IBAN is invalid: which is why validators check both. Below is the complete reference for all 89 countries, sourced from the official SWIFT IBAN Registry, Release 103 (September 2026).

Breakdown of the IBAN format: country code, check digits and BBAN

Reading the structure: “n” = digit, “a” = letter, “c” = alphanumeric. So Germany’s 8!n10!n means 8 digits followed by 10 digits.

International prefix and national structure

Every IBAN starts with two country letters and two international check digits. The remaining characters form the country-specific BBAN. That national component is not an arbitrary account string: its length and character positions follow a registered layout.

For the German documentation example DE89370400440532013000, the parts are DE, 89, bank code 37040044 and account component 0532013000. A UK example has bank letters and sort-code digits, so a parser cannot reuse the German offsets.

Understand the registry notation

NotationMeaningExample
nNumeric characters8n: eight digits
aAlphabetic characters4a: four letters
cAlphanumeric characters11c: eleven letters or digits

A pattern tells you what characters are permitted in each segment. It does not show whether a bank code is currently assigned, whether an account exists, or whether a country-specific domestic checksum passes.

Printed format versus electronic format

Printed IBANs commonly group characters in blocks of four. Electronic inputs usually use the compact value without those spaces. Preserve every character and leading zero during conversion. Do not add hyphens to an electronic value or convert its national account component to a number.

National check fields are separate

France includes a two-digit RIB key after its account component. Spain includes domestic check digits inside the BBAN, and Italy includes a national check character. The two international check digits do not replace these national fields. Our toolkit’s BBAN-pattern check validates character positions; it does not implement every domestic checksum.

Use a format reference responsibly

Documentation examples show how to parse a value and are useful in tests. They are not payment instructions. For actual receiving details or conversion from domestic components, use information issued or confirmed by the account-servicing bank.

Sources and scope

Swift: national IBAN formats and registration authority.

Examples and test matrices are explanatory fixtures, not receiving instructions. This page covers format checks and software testing. It does not verify account ownership or provide a guarantee that a payment will succeed.

Technical notes updated 8 October 2026. Read the editorial policy. Send a correction.