- First 2 characters: country code (uppercase letters, ISO 3166-1 alpha-2)
- Next 2 characters: check digits (digits)
- Remaining 11 to 30 characters: country-specific BBAN (Basic Bank Account Number), alphanumeric
BANK_COUNTRY.
Country-specific length
Each IBAN-issuing country has a fixed length defined by the ISO 13616 registry. The following table lists the expected lengths:| Country code | Country | Length |
|---|---|---|
AD | Andorra | 24 |
AE | United Arab Emirates | 23 |
AL | Albania | 28 |
AT | Austria | 20 |
AZ | Azerbaijan | 28 |
BA | Bosnia and Herzegovina | 20 |
BE | Belgium | 16 |
BG | Bulgaria | 22 |
BH | Bahrain | 22 |
BI | Burundi | 27 |
BR | Brazil | 29 |
BY | Belarus | 28 |
CH | Switzerland | 21 |
CR | Costa Rica | 22 |
CY | Cyprus | 28 |
CZ | Czech Republic | 24 |
DE | Germany | 22 |
DJ | Djibouti | 27 |
DK | Denmark | 18 |
DO | Dominican Republic | 28 |
EE | Estonia | 20 |
EG | Egypt | 29 |
ES | Spain | 24 |
FI | Finland | 18 |
FK | Falkland Islands | 18 |
FO | Faroe Islands | 18 |
FR | France | 27 |
GB | United Kingdom | 22 |
GE | Georgia | 22 |
GI | Gibraltar | 23 |
GL | Greenland | 18 |
GR | Greece | 27 |
GT | Guatemala | 28 |
HN | Honduras | 28 |
HR | Croatia | 21 |
HU | Hungary | 28 |
IE | Ireland | 22 |
IL | Israel | 23 |
IQ | Iraq | 23 |
IS | Iceland | 26 |
IT | Italy | 27 |
JO | Jordan | 30 |
KW | Kuwait | 30 |
KZ | Kazakhstan | 20 |
LB | Lebanon | 28 |
LC | Saint Lucia | 32 |
LI | Liechtenstein | 21 |
LT | Lithuania | 20 |
LU | Luxembourg | 20 |
LV | Latvia | 21 |
LY | Libya | 25 |
MC | Monaco | 27 |
MD | Moldova | 24 |
ME | Montenegro | 22 |
MK | North Macedonia | 19 |
MN | Mongolia | 20 |
MR | Mauritania | 27 |
MT | Malta | 31 |
MU | Mauritius | 30 |
NI | Nicaragua | 28 |
NL | Netherlands | 18 |
NO | Norway | 15 |
OM | Oman | 23 |
PK | Pakistan | 24 |
PL | Poland | 28 |
PS | Palestinian Territory | 29 |
PT | Portugal | 25 |
QA | Qatar | 29 |
RO | Romania | 24 |
RS | Serbia | 22 |
RU | Russia | 33 |
SA | Saudi Arabia | 24 |
SC | Seychelles | 31 |
SD | Sudan | 18 |
SE | Sweden | 24 |
SI | Slovenia | 19 |
SK | Slovakia | 24 |
SM | San Marino | 27 |
SO | Somalia | 23 |
ST | São Tomé and Príncipe | 25 |
SV | El Salvador | 28 |
TL | Timor-Leste | 23 |
TN | Tunisia | 24 |
TR | Turkey | 26 |
UA | Ukraine | 29 |
VA | Vatican City | 22 |
VG | British Virgin Islands | 24 |
XK | Kosovo | 20 |
YE | Yemen | 30 |
| Territory code | Territory | Parent | Length |
|---|---|---|---|
AX | Åland Islands | FI | 18 |
BL | Saint Barthélemy | FR | 27 |
EA | Ceuta and Melilla | ES | 24 |
GF | French Guiana | FR | 27 |
GG | Guernsey | GB | 22 |
GP | Guadeloupe | FR | 27 |
IC | Canary Islands | ES | 24 |
IM | Isle of Man | GB | 22 |
JE | Jersey | GB | 22 |
MF | Saint Martin (French part) | FR | 27 |
MQ | Martinique | FR | 27 |
NC | New Caledonia | FR | 27 |
PF | French Polynesia | FR | 27 |
PM | Saint Pierre et Miquelon | FR | 27 |
RE | Réunion | FR | 27 |
SJ | Svalbard and Jan Mayen | NO | 15 |
TF | French Southern Territories | FR | 27 |
WF | Wallis and Futuna Islands | FR | 27 |
YT | Mayotte | FR | 27 |
Cross-field validation with bank country
When both IBAN andBANK_COUNTRY are provided, the IBAN’s country code (first 2
characters) must match BANK_COUNTRY. Overseas territories resolve to their
parent country before the check. For example, an IBAN starting with GG
(Guernsey) is treated as GB.
Example
The following is an example of validating the IBANGB82WEST12345698765432:
Structure
- Country code:
GB(United Kingdom) - Check digits:
82 - BBAN:
WEST12345698765432(18 characters) - Total length:
22(matches the fixed length forGB)
- IBAN country code:
GB BANK_COUNTRY:GB(matches)