IBAN Format by Country: All 36 SEPA Countries
IBAN formats for all 36 SEPA countries: country codes, lengths, structure, example IBANs and mod-97 validation. A reference for finance teams and developers.
Validate your file right now
Free, instant and 100% in your browser - no file is ever uploaded.
What is IBAN and Why Does the Format Vary by Country?
IBAN (International Bank Account Number) is an international standard (ISO 13616) for identifying bank accounts across national borders. It consists of a 2-letter country code, 2 check digits, and a country-specific BBAN (Basic Bank Account Number) of varying length. The total IBAN length varies from 15 characters (Norway) to 31 characters (Malta) depending on the country's BBAN structure; ISO 13616 permits a maximum of 34 characters.
The check digits (positions 3-4) let you validate an IBAN with the mod-97 algorithm (ISO 7064): move the 4-character country code and check digits to the end of the string, convert letters to numbers (A=10 ... Z=35), and take the result modulo 97 - a valid IBAN yields a remainder of 1. (The check digits themselves are generated by placing 00 in their position and computing 98 minus the remainder.) This checksum catches the majority of data entry errors including transposed digits and wrong country codes.
IBAN is mandatory for all SEPA credit transfers and direct debits. The 36 SEPA member countries (27 EU members plus Norway, Iceland, Liechtenstein, Switzerland, UK, Monaco, San Marino, Andorra, Vatican) all use IBAN. Many non-SEPA countries (Middle East, North Africa, Caribbean) have also adopted IBAN for international payment routing.
IBAN Format Reference Table (All SEPA Countries)
Complete reference of IBAN formats for every supported country: total length, BBAN length and a validated example IBAN. Click any country to open its dedicated validator and structure breakdown.
| Country | Country code | Length | BBAN | Example |
|---|---|---|---|---|
| Andorra | AD | 24 | 20 | AD12 0001 2030 2003 5910 0100 |
| Austria | AT | 20 | 16 | AT61 1904 3002 3457 3201 |
| Belgium | BE | 16 | 12 | BE68 5390 0754 7034 |
| Brazil | BR | 29 | 25 | BR18 0036 0305 0000 1000 9795 493C 1 |
| Bulgaria | BG | 22 | 18 | BG80 BNBG 9661 1020 3456 78 |
| Croatia | HR | 21 | 17 | HR12 1001 0051 8630 0016 0 |
| Cyprus | CY | 28 | 24 | CY17 0020 0128 0000 0012 0052 7600 |
| Czechia | CZ | 24 | 20 | CZ65 0800 0000 1920 0014 5399 |
| Denmark | DK | 18 | 14 | DK50 0040 0440 1162 43 |
| Estonia | EE | 20 | 16 | EE38 2200 2210 2014 5685 |
| Finland | FI | 18 | 14 | FI21 1234 5600 0007 85 |
| France | FR | 27 | 23 | FR14 2004 1010 0505 0001 3M02 606 |
| Germany | DE | 22 | 18 | DE89 3704 0044 0532 0130 00 |
| Gibraltar | GI | 23 | 19 | GI75 NWBK 0000 0000 7099 453 |
| Greece | GR | 27 | 23 | GR16 0110 1250 0000 0001 2300 695 |
| Hungary | HU | 28 | 24 | HU42 1177 3016 1111 1018 0000 0000 |
| Iceland | IS | 26 | 22 | IS14 0159 2600 7654 5510 7303 39 |
| Ireland | IE | 22 | 18 | IE29 AIBK 9311 5212 3456 78 |
| Israel | IL | 23 | 19 | IL62 0108 0000 0009 9999 999 |
| Italy | IT | 27 | 23 | IT60 X054 2811 1010 0000 0123 456 |
| Latvia | LV | 21 | 17 | LV80 BANK 0000 4351 9500 1 |
| Liechtenstein | LI | 21 | 17 | LI21 0881 0000 2324 013A A |
| Lithuania | LT | 20 | 16 | LT12 1000 0111 0100 1000 |
| Luxembourg | LU | 20 | 16 | LU28 0019 4006 4475 0000 |
| Malta | MT | 31 | 27 | MT84 MALT 0110 0001 2345 MTLC AST0 01S |
| Monaco | MC | 27 | 23 | MC58 1122 2000 0101 2345 6789 030 |
| Netherlands | NL | 18 | 14 | NL91 ABNA 0417 1643 00 |
| Norway | NO | 15 | 11 | NO93 8601 1117 947 |
| Poland | PL | 28 | 24 | PL61 1090 1014 0000 0712 1981 2874 |
| Portugal | PT | 25 | 21 | PT50 0002 0123 1234 5678 9015 4 |
| Romania | RO | 24 | 20 | RO49 AAAA 1B31 0075 9384 0000 |
| San Marino | SM | 27 | 23 | SM86 U032 2509 8000 0000 0270 100 |
| Saudi Arabia | SA | 24 | 20 | SA03 8000 0000 6080 1016 7519 |
| Slovakia | SK | 24 | 20 | SK31 1200 0000 1987 4263 7541 |
| Slovenia | SI | 19 | 15 | SI56 2633 0001 2039 086 |
| Spain | ES | 24 | 20 | ES91 2100 0418 4502 0005 1332 |
| Sweden | SE | 24 | 20 | SE45 5000 0000 0583 9825 7466 |
| Switzerland | CH | 21 | 17 | CH93 0076 2011 6238 5295 7 |
| Türkiye | TR | 26 | 22 | TR33 0006 1005 1978 6457 8413 26 |
| United Arab Emirates | AE | 23 | 19 | AE07 0331 2345 6789 0123 456 |
| United Kingdom | GB | 22 | 18 | GB82 WEST 1234 5698 7654 32 |
| Vatican City | VA | 22 | 18 | VA59 0011 2300 0012 3456 78 |
Validate an IBAN by country
Choose a country to see its IBAN format, length and a validated example.
Common IBAN Validation Rules Across All Countries
All IBANs share four universal validation rules: (1) the country code must be a valid ISO 3166-1 alpha-2 code for a country that has adopted IBAN; (2) the total length must match the expected length for that country (e.g., 22 for DE, 27 for FR); (3) the BBAN must contain only the character types valid for that country (digits only for most, or alphanumeric for some); and (4) the mod-97 checksum must yield a remainder of 1.
Length validation is the quickest check: if a claimed German IBAN has 23 characters instead of 22, it is immediately invalid without needing to run the mod-97 calculation. Country-specific BBAN structure validation adds a further layer - for example, French IBANs have specific rules about which characters are allowed in the bank/branch and account number positions.
ValidateFin's IBAN validator performs all four checks - country code recognition, length validation, character set validation, and mod-97 checksum - entirely in your browser. It supports IBANs from all 36 SEPA countries and many non-SEPA IBAN countries. No data is sent to any server.
IBAN in SEPA Payments and E-invoicing
IBAN is a mandatory field in all SEPA payment instruments. In pain.001 (Customer Credit Transfer Initiation), the creditor's IBAN appears in CdtrAcct/Id/IBAN. In pain.008 (Customer Direct Debit Initiation), the debtor's IBAN appears in DbtrAcct/Id/IBAN. Both fields are mandatory - a SEPA file without valid IBANs is rejected by the bank.
In e-invoicing (UBL/Peppol and Factur-X), the seller's IBAN appears in the payment instructions section (UBL: cbc:PaymentID / cac:PayeeFinancialAccount, CII: CreditorSpecifiedDebtorFinancialInstitution). Including a valid IBAN in the invoice enables buyers to process payment directly from the invoice data, supporting straight-through processing.
ValidateFin validates IBANs within SEPA XML files (pain.001, pain.008, camt.053) as part of the file validation process. Each IBAN in the file is checked against the mod-97 algorithm and the expected format for its country code. Errors are reported with the specific element path so you can locate and fix them quickly.
Validate IBANs Instantly with ValidateFin
ValidateFin's IBAN validator checks any IBAN against all country formats and the mod-97 checksum instantly in your browser. Validate individual IBANs or batch-check IBANs within your SEPA XML files.
Validate IBAN nowFrequently Asked Questions
How long is a German IBAN?
German IBANs (DE) are always 22 characters: DE + 2 check digits + 8-digit Bankleitzahl (BLZ) + 10-digit account number. Example: DE89370400440532013000.
How long is a French IBAN?
French IBANs (FR) are always 27 characters: FR + 2 check digits + 5-digit bank code + 5-digit branch code + 11-character account number + 2-digit national check. Example: FR7630006000011234567890189.
How do I validate an IBAN?
IBAN validation requires four steps: (1) check the country code is a valid IBAN-adopting country; (2) check the total length matches the expected length for that country; (3) check the BBAN contains only valid characters for that country; (4) verify the mod-97 checksum: move the country code and check digits (the first four characters) to the end, convert letters to numbers (A=10, B=11, etc.), take the result modulo 97, and verify the remainder is 1.
Is IBAN the same as account number?
No. IBAN is an international format that includes the country code, check digits, and the domestic account number (BBAN). The BBAN includes the bank code and account number components specific to each country. IBAN is always used for cross-border SEPA payments; domestic transfers may use shorter national formats in some countries.
How many countries use IBAN?
Approximately 79 countries have adopted IBAN. The 36 SEPA countries (EU member states plus Norway, Iceland, Liechtenstein, Switzerland, UK, and some micro-states) use IBAN for all SEPA payment instruments. Many Middle Eastern, North African, and Caribbean countries have also adopted IBAN.
What is the IBAN check digit for?
The 2-digit check digit (positions 3-4 of the IBAN) is calculated using the mod-97 algorithm and serves as an error detection mechanism. It catches approximately 98% of single-digit errors, all transpositions of adjacent digits, and many other common data entry mistakes.
Can an IBAN have letters?
The country code positions (1-2) are always letters. Some countries include letters in their BBAN - for example, UK IBANs include the 4-letter BIC bank code, and some other countries encode the bank identifier as alphanumeric. Most continental European IBANs (DE, FR, NL, BE, ES) have numeric-only BBANs.
What is BBAN?
BBAN (Basic Bank Account Number) is the domestic account number component of the IBAN, without the country code and check digits. Each country defines its own BBAN structure - for Germany it is the 18-character combination of BLZ and account number, for France it is the 23-character bank/branch/account/national-check combination.
Are spaces allowed in IBAN?
Spaces are used for human readability (printed format) but must be removed for electronic transmission. The electronic format uses no spaces: DEXXXXXXXXXXXXXXXXXX. SEPA XML files and e-invoices must use the electronic format without spaces.
Why is my IBAN rejected despite looking correct?
Common causes of IBAN rejection: (1) wrong country code (e.g., FR instead of BE); (2) incorrect length (one digit too many or too few); (3) transposed digits; (4) spaces included in the electronic format; (5) the IBAN is from a non-SEPA country and the target bank does not support it. Use ValidateFin's IBAN validator to identify the specific error.