IBAN length and format vary from country to country. While every IBAN starts with a two-letter country code and two check digits, the remaining characters — known as the BBAN (Basic Bank Account Number) — depend on each country's banking system. The structure is defined by ISO 13616 and maintained in the SWIFT IBAN Registry. Use the reference table below to verify the expected format for the most common IBAN-using countries. For background on how IBANs work and why they exist, see our What is an IBAN? guide.
The BBAN (Basic Bank Account Number) is the portion of an IBAN that follows the country code and check digits. It contains all the domestic banking identifiers needed to route a payment within a specific country: bank code, branch code (where applicable), and account number. The BBAN format is defined independently by each country's banking authority, which is why IBAN lengths differ so much from one country to another.
For example, a German BBAN is 18 digits (8-digit bank code followed by a 10-digit account number), while a Norwegian BBAN is only 11 digits (4-digit bank code, 6-digit account number, and 1 check digit). The IBAN standard simply adds a uniform CC (country code) + kk (check digits) prefix to whatever domestic format the country already uses. This means the total IBAN length equals 4 (country code + check digits) plus the BBAN length for that country.
The format column in the table below uses letter codes to indicate which part of the domestic banking structure each character position represents. Understanding this notation is essential if you need to manually verify or construct an IBAN. Here is what each letter means:
kk — Check digits. Two numeric digits calculated using the MOD-97 algorithm. These are always positions 3 and 4 of the IBAN (immediately after the country code). They enable automatic detection of transcription errors and are the reason IBANs can be validated before a payment is sent.B — Bank code. Identifies the bank or financial institution. In Germany this is the 8-digit Bankleitzahl; in France it is a 5-digit code banque. The number of B characters tells you how many digits the bank code occupies.S or G — Sort code / branch code. Identifies the branch or office of the bank. In the UK this is the 6-digit sort code (S); in France and Spain it is called the code guichet or branch code (G). Not all countries include a separate branch identifier — in Germany, for example, the branch is encoded within the bank code itself.C — Account number. The individual account identifier within the bank and branch. The number of C characters indicates the length of the account number field. Some countries pad shorter account numbers with leading zeros.K — National check digit(s). Some countries include their own domestic check digits within the BBAN, in addition to the IBAN-level MOD-97 check digits. For example, France and Spain both include national check digits (K) as part of their BBAN structure.X — National check letter. Used by Italy (and a few other countries) as an alphabetic check character. The Italian CIN (Codice Identificativo Nazionale) is a single letter computed from the bank code, branch code, and account number.As a quick example, the German format DEkk BBBB BBBB CCCC CCCC CC tells you that after the country code (DE) and check digits (kk), there are 8 bank-code digits (B) followed by 10 account-number digits (C), for a total of 22 characters.
| Country | Code | Length | Example Format |
|---|---|---|---|
| Germany | DE | 22 | DEkk BBBB BBBB CCCC CCCC CC |
| United Kingdom | GB | 22 | GBkk BBBB SSSS SSCC CCCC CC |
| France | FR | 27 | FRkk BBBB BGGG GGCC CCCC CCCC CKK |
| Spain | ES | 24 | ESkk BBBB GGGG KKCC CCCC CCCC |
| Italy | IT | 27 | ITkk XBBB BBGG GGGC CCCC CCCC CCC |
| Netherlands | NL | 18 | NLkk BBBB CCCC CCCC CC |
| Austria | AT | 20 | ATkk BBBB BCCC CCCC CCCC |
| Switzerland | CH | 21 | CHkk BBBB BCCC CCCC CCCC C |
| Belgium | BE | 16 | BEkk BBBC CCCC CCKK |
| Poland | PL | 28 | PLkk BBBS SSSK CCCC CCCC CCCC CCCC |
| Norway | NO | 15 | NOkk BBBB CCCC CCK |
| Sweden | SE | 24 | SEkk BBBC CCCC CCCC CCCC CCCK |
| Portugal | PT | 25 | PTkk BBBB GGGG CCCC CCCC CCCK K |
| Ireland | IE | 22 | IEkk BBBB SSSS SSCC CCCC CC |
| Turkey | TR | 26 | TRkk BBBB BCCC CCCC CCCC CCCC CC |
| Saudi Arabia | SA | 24 | SAkk BBCC CCCC CCCC CCCC CCCC |
| United Arab Emirates | AE | 23 | AEkk BBBC CCCC CCCC CCCC CCC |
In the format column: kk = check digits, B = bank code, S/G = sort/branch code, C = account number, K = national check digit, X = national check letter. For a complete list of every country that uses IBANs, see our which countries use IBAN guide.
One of the most common IBAN errors is having the wrong number of characters. Each country defines a fixed length — a German IBAN is always exactly 22 characters and a French IBAN is always exactly 27. Adding or removing a digit will cause the MOD-97 check to fail, and the transfer will be rejected.
The variation in length exists because IBANs wrap each country's pre-existing domestic account format. Countries with longer domestic numbers (such as bank code + branch code + account number + national check digits) produce longer IBANs. Norway, whose domestic format consists of just an 11-digit account number, has the shortest IBAN at 15 characters. Malta and other countries with more complex domestic structures can have IBANs up to 31 or even 34 characters.
This is precisely why validation matters: if you are expecting a German IBAN and receive a 27-character string, something is wrong. The length alone can tell you whether the IBAN matches the claimed country of origin. Our validator checks this automatically, but it is useful to know the expected lengths for the countries you deal with most often.
A frequent question is whether IBANs can contain letters in the account number portion. The answer depends on the country. In most countries (Germany, France, Spain, Italy, Norway, etc.), the BBAN is entirely numeric — it consists only of digits. However, some countries allow or require alphabetic characters in parts of the BBAN.
The United Kingdom is a common example: the BBAN starts with a four-letter bank code (such as NWBK for NatWest or LOYD for Lloyds), followed by numeric sort code and account number digits. The Netherlands also uses a four-letter bank identifier (INGB, ABNA, RABO, etc.) in its BBAN. In these cases, the letters are always in the bank code portion, not the account number itself. Some countries in the Middle East, such as Kuwait and Bahrain, also permit alphanumeric characters in certain BBAN positions.
The SWIFT IBAN Registry specifies for each country whether each position in the BBAN must be numeric (n), alphabetic (a), or alphanumeric (c). When validating or constructing an IBAN, always check the character-type rules for the specific country.
IBANs can be presented in two forms: the "print" format with spaces every four characters (e.g., DE89 3704 0044 0532 0130 00) and the "electronic" format without any spaces (e.g., DE89370400440532013000). Both represent the same IBAN. The print format is used on paper documents, invoices, and bank statements for human readability. The electronic format is what payment systems and banking software use internally.
When entering an IBAN into a payment form, most modern banking interfaces accept both formats and strip spaces automatically. However, older systems, APIs, and some third-party payment processors may reject an IBAN that contains spaces. As a best practice, always store IBANs in electronic format (no spaces) and only add spaces when displaying them to humans. When counting characters to check the length, make sure to exclude any spaces first.
Different countries have different patterns of errors that people commonly make. Being aware of these can save time and prevent failed payments:
kk in an IBAN format represents the two check digits, which are always positions 3 and 4 of the IBAN. These are calculated using the MOD-97 algorithm defined in ISO 7064 and serve as an error-detection mechanism. When you see a format like DEkk BBBB BBBB CCCC CCCC CC, the kk will be replaced by two specific digits (like 89 in DE89) that validate the rest of the IBAN.Paste any IBAN into our IBAN validator to instantly verify it matches the correct country format. The tool checks the length, structure, and checksum, and shows a breakdown of the bank code, branch, and account number. All validation runs entirely in your browser — no data is sent to any server.
Back to all guides.