IBAN by Country – Format, Length and Example
Official reference directory of all 97 IBAN countries per the SWIFT IBAN Registry: total character lengths, country codes, SEPA flags, and format specifications.
SEPA Countries and IBAN Formats
The Single Euro Payments Area (SEPA) covers all 27 European Union member states along with the UK, Switzerland, Norway, Iceland, Liechtenstein, Monaco, San Marino, Andorra, and Vatican City. Each country defines a fixed total length and internal BBAN structure:
| Country Name | Code | Total Length | SEPA | BBAN Regex Structure |
|---|---|---|---|---|
| Andorra | AD | 24 chars | SEPA | ^[0-9]{8}[A-Z0-9]{12}$ |
| Austria | AT | 20 chars | SEPA | ^[0-9]{16}$ |
| Belgium | BE | 16 chars | SEPA | ^[0-9]{12}$ |
| Bulgaria | BG | 22 chars | SEPA | ^[A-Z]{4}[0-9]{6}[A-Z0-9]{8}$ |
| Croatia | HR | 21 chars | SEPA | ^[0-9]{17}$ |
| Cyprus | CY | 28 chars | SEPA | ^[0-9]{8}[A-Z0-9]{16}$ |
| Czech Republic | CZ | 24 chars | SEPA | ^[0-9]{20}$ |
| Denmark | DK | 18 chars | SEPA | ^[0-9]{14}$ |
| Estonia | EE | 20 chars | SEPA | ^[0-9]{16}$ |
| Finland | FI | 18 chars | SEPA | ^[0-9]{14}$ |
| France | FR | 27 chars | SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| Germany | DE | 22 chars | SEPA | ^[0-9]{18}$ |
| Gibraltar | GI | 23 chars | SEPA | ^[A-Z]{4}[A-Z0-9]{15}$ |
| Greece | GR | 27 chars | SEPA | ^[0-9]{7}[A-Z0-9]{16}$ |
| Hungary | HU | 28 chars | SEPA | ^[0-9]{24}$ |
| Iceland | IS | 26 chars | SEPA | ^[0-9]{22}$ |
| Ireland | IE | 22 chars | SEPA | ^[A-Z0-9]{4}[0-9]{14}$ |
| Italy | IT | 27 chars | SEPA | ^[A-Z]{1}[0-9]{10}[A-Z0-9]{12}$ |
| Latvia | LV | 21 chars | SEPA | ^[A-Z]{4}[A-Z0-9]{13}$ |
| Liechtenstein | LI | 21 chars | SEPA | ^[0-9]{5}[A-Z0-9]{12}$ |
| Lithuania | LT | 20 chars | SEPA | ^[0-9]{16}$ |
| Luxembourg | LU | 20 chars | SEPA | ^[0-9]{3}[A-Z0-9]{13}$ |
| Malta | MT | 31 chars | SEPA | ^[A-Z]{4}[0-9]{5}[A-Z0-9]{18}$ |
| Monaco | MC | 27 chars | SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| Netherlands | NL | 18 chars | SEPA | ^[A-Z]{4}[0-9]{10}$ |
| Norway | NO | 15 chars | SEPA | ^[0-9]{11}$ |
| Poland | PL | 28 chars | SEPA | ^[0-9]{24}$ |
| Portugal | PT | 25 chars | SEPA | ^[0-9]{21}$ |
| Romania | RO | 24 chars | SEPA | ^[A-Z]{4}[A-Z0-9]{16}$ |
| San Marino | SM | 27 chars | SEPA | ^[A-Z]{1}[0-9]{10}[A-Z0-9]{12}$ |
| Slovakia | SK | 24 chars | SEPA | ^[0-9]{20}$ |
| Slovenia | SI | 19 chars | SEPA | ^[0-9]{15}$ |
| Spain | ES | 24 chars | SEPA | ^[0-9]{20}$ |
| Sweden | SE | 24 chars | SEPA | ^[0-9]{20}$ |
| Switzerland | CH | 21 chars | SEPA | ^[0-9]{5}[A-Z0-9]{12}$ |
| United Kingdom | GB | 22 chars | SEPA | ^[A-Z]{4}[0-9]{14}$ |
| Vatican City | VA | 22 chars | SEPA | ^[0-9]{18} |
Complete International SWIFT IBAN Registry
Beyond Europe, dozens of jurisdictions across the Middle East, North Africa, Central Asia, and the Americas have adopted the IBAN format to streamline automated payment routing. If you have an account number to convert or test, calculate your format on our IBAN calculator, check validity on our IBAN checker, or generate mock accounts with our IBAN generator.
| Country Name | Code | Total Length | SEPA | BBAN Regex Structure |
|---|---|---|---|---|
| Albania | AL | 28 chars | Non-SEPA | ^[0-9]{8}[A-Z0-9]{16}$ |
| AX | AX | 18 chars | Non-SEPA | ^[0-9]{14}$ |
| Azerbaijan | AZ | 28 chars | Non-SEPA | ^[A-Z]{4}[A-Z0-9]{20}$ |
| Bahrain | BH | 22 chars | Non-SEPA | ^[A-Z]{4}[A-Z0-9]{14}$ |
| Belarus | BY | 28 chars | Non-SEPA | ^[A-Z]{4}[0-9]{4}[A-Z0-9]{16}$ |
| Bosnia and Herzegovina | BA | 20 chars | Non-SEPA | ^[0-9]{16}$ |
| Brazil | BR | 29 chars | Non-SEPA | ^[0-9]{23}[A-Z]{1}[A-Z0-9]{1}$ |
| Costa Rica | CR | 22 chars | Non-SEPA | ^[0-9]{18}$ |
| Dominican Republic | DO | 28 chars | Non-SEPA | ^[A-Z]{4}[0-9]{20}$ |
| EG | EG | 29 chars | Non-SEPA | ^[0-9]{25} |
| Faroe Islands | FO | 18 chars | Non-SEPA | ^[0-9]{14}$ |
| Georgia | GE | 22 chars | Non-SEPA | ^[A-Z0-9]{2}[0-9]{16}$ |
| GF | GF | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| GP | GP | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| Greenland | GL | 18 chars | Non-SEPA | ^[0-9]{14}$ |
| Guatemala | GT | 28 chars | Non-SEPA | ^[A-Z0-9]{24}$ |
| IQ | IQ | 23 chars | Non-SEPA | ^[A-Z]{4}[0-9]{15}$ |
| Israel | IL | 23 chars | Non-SEPA | ^[0-9]{19}$ |
| Jordan | JO | 30 chars | Non-SEPA | ^[A-Z]{4}[0-9]{4}[A-Z0-9]{18}$ |
| Kazakhstan | KZ | 20 chars | Non-SEPA | ^[0-9]{3}[A-Z0-9]{13}$ |
| Kosovo | XK | 20 chars | Non-SEPA | ^[0-9]{16}$ |
| Kuwait | KW | 30 chars | Non-SEPA | ^[A-Z]{4}[A-Z0-9]{22}$ |
| LC | LC | 32 chars | Non-SEPA | ^[A-Z]{4}[A-Z0-9]{24}$ |
| Lebanon | LB | 28 chars | Non-SEPA | ^[0-9]{4}[A-Z0-9]{20}$ |
| LY | LY | 25 chars | Non-SEPA | ^[0-9]{21}$ |
| Mauritius | MU | 30 chars | Non-SEPA | ^[A-Z]{4}[0-9]{19}[A-Z]{3}$ |
| MF | MF | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| MN | MN | 20 chars | Non-SEPA | ^[0-9]{16}$ |
| Moldova | MD | 24 chars | Non-SEPA | ^[A-Z0-9]{2}[A-Z0-9]{18}$ |
| Montenegro | ME | 22 chars | Non-SEPA | ^[0-9]{18}$ |
| MQ | MQ | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| MR | MR | 27 chars | Non-SEPA | ^[0-9]{23}$ |
| NC | NC | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| NI | NI | 28 chars | Non-SEPA | ^[A-Z]{4}[0-9]{20}$ |
| North Macedonia | MK | 19 chars | Non-SEPA | ^[0-9]{3}[A-Z0-9]{10}[0-9]{2}$ |
| OM | OM | 23 chars | Non-SEPA | ^[0-9]{3}[A-Z0-9]{16}$ |
| Pakistan | PK | 24 chars | Non-SEPA | ^[A-Z0-9]{4}[0-9]{16}$ |
| PF | PF | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| PM | PM | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| PS | PS | 29 chars | Non-SEPA | ^[A-Z0-9]{4}[0-9]{21}$ |
| Qatar | QA | 29 chars | Non-SEPA | ^[A-Z]{4}[A-Z0-9]{21}$ |
| RE | RE | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| RU | RU | 33 chars | Non-SEPA | ^[0-9]{14}[A-Z0-9]{15}$ |
| Saudi Arabia | SA | 24 chars | Non-SEPA | ^[0-9]{2}[A-Z0-9]{18}$ |
| SC | SC | 31 chars | Non-SEPA | ^[A-Z]{4}[0-9]{20}[A-Z]{3}$ |
| SD | SD | 18 chars | Non-SEPA | ^[0-9]{14}$ |
| Serbia | RS | 22 chars | Non-SEPA | ^[0-9]{18}$ |
| SO | SO | 23 chars | Non-SEPA | ^[0-9]{19}$ |
| ST | ST | 25 chars | Non-SEPA | ^[0-9]{21}$ |
| SV | SV | 28 chars | Non-SEPA | ^[A-Z]{4}[0-9]{20}$ |
| TF | TF | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| TL | TL | 23 chars | Non-SEPA | ^[0-9]{19}$ |
| Tunisia | TN | 24 chars | Non-SEPA | ^[0-9]{20}$ |
| Turkey | TR | 26 chars | Non-SEPA | ^[0-9]{5}[A-Z0-9]{17}$ |
| Ukraine | UA | 29 chars | Non-SEPA | ^[0-9]{6}[A-Z0-9]{19}$ |
| United Arab Emirates | AE | 23 chars | Non-SEPA | ^[0-9]{3}[0-9]{16}$ |
| VG | VG | 24 chars | Non-SEPA | ^[A-Z0-9]{4}[0-9]{16}$ |
| WF | WF | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |
| YE | YE | 30 chars | Non-SEPA | [A-Z]{4}[0-9]{4}[0-9A-Z]{18} |
| YT | YT | 27 chars | Non-SEPA | ^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$ |