IBAN number: definition, structure and checker

International Bank Account Number
International Bank Account Number

The IBAN number or simply IBAN (International Bank Account Number) serves as the unique identifier for the bank account in SEPA payments. Debtor and Creditor accounts must be provided therein in IBAN formats. But contrary to what many believe, IBANs are not used everywhere in the world as we will see below. This article begins with the definition of the IBAN and shows why financial institutions are adopting and using it all over the world. Then it handles the IBAN structure and highlights the specificities of certain countries. The final part is about the IBAN validation.

Definition of IBAN Number

IBAN is an acronym of International Bank Account Number. It was originally developed to facilitate payments within the European Union but the format is flexible enough to be applied globally. The IBAN format is standardized in the ISO 13616. The length of the IBAN is variable depending on the country, but it is fixed in a single country. As examples, the French IBAN contains exactly 27 characters while the German IBAN has a length of exactly 22 characters.

Like an international phone number, the IBAN is used to identify an account internationally. An IBAN is unique in the whole word. You cannot find two different accounts in the same country or in different countries with the same IBAN. It uniquely identifies a bank account regardless of where it is held. The IBAN is used to facilitate automated processing of cross-border payments and therefore to increase the speed and quality of processing.

Why use the IBAN number?

Since the accounts structures are different between countries and geographical areas, it is not an easy task for businesses and governments to understand the differences between national and cross-border account structures. This leads to incomplete orders of transfers that cause delays in their processing. And the banks have to contact their customers several times to request them to complete the payment orders to foreign countries. The use of IBAN overcomes this major drawback.

IBAN number adoption is still ongoing

The first version of ISO 13616, which specifies the IBAN, was published in 1997. And it has been reviewed 2 times since then, in 2003 and 2007. The establishment of SEPA has contributed to the adoption of this standard by European countries. But the number of countries using IBAN is still quite low. Around 90 when I write these lines. Many people think that the IBAN is already in use in all countries or can be used in International payments to any country. This is wrong. Countries like Australia, Canada, New Zealand or USA do not use IBAN. Thus we still have a long way to go. The list of countries that use the IBAN can be found in the IBAN registry of SWIFT. Note that some countries not present in the SWIFT Registry like Angola, Cameroon, Ukraine use the IBAN. The number of countries using the IBAN will certainly increase in the coming years, as it yields many advantages.

Structure of IBAN Number

The IBAN structure consists of maximum 34 characters and is composed of:

  • 2 alphabetic characters for the ISO country code of the IBAN. As an example, a Belgian IBAN always starts with BE, the ISO code for Belgium.
  • 2 numeric characters for IBAN check digits. This key is used for verifying the validity of an IBAN. The checking algorithm can be found rather quickly by searching on the Internet.
  • The number of remaining characters varies, but cannot exceed 30 characters. This group of characters is called BBAN (Basic Bank Account Number). Depending on the country, we find alphabetic, numeric or alphanumeric characters in specific positions. In France for example, the BBAN is known as the bank account details (French RIB) and it has 23 alphanumeric characters. So the BBAN is a subpart of the IBAN.

The following figure depicts the IBAN structure with an example for Spain (Country code ES).

IBAN number structure
IBAN number structure

An IBAN number always begins with a country code followed by check digits. But the BBAN length varies. A Belgian IBAN is composed of 16 characters (first 4 for country code and check digits, last 12 for BBAN). A German IBAN is composed of 22 characters (first 4 for country code and check digits, last 16 for BBAN). A spanish IBAN is composed of 24 characters (first 4 for country code and check digits, last 20 for BBAN). A French IBAN is composed of 27 characters (first 4 for country code and check digits, last 23 for BBAN). A Malta IBAN is composed of 31 characters (first 4 for country code and check digits, last 27 for BBAN) and so on.

The BBAN structure is different per country but always has the same length in a particular country. Let’s take the example of the French BBAN. It is composed of exactly 23 characters:

  • The first 5 characters are numeric and represent the code of the bank where the account is held. It is the bank code which is assigned by the central bank (Bank of France in this case).
  • The following 5 characters are numeric also and represent the code of the bank branch. The central bank assigns bank branch code as well.
  • Then follow 11 alphanumeric characters. This is the customer account number. The Bank can choose whatever account number it wants as long as it follows some rules defined for the banking community at national level. It is completely at its discretion. Banks usually give a structure to account numbers to identify and handle them easily.
  • The last 2 characters are check digits for the BBAN. They are used to check the validity of the French BBAN. If you read the verification algorithm, you will see that these check digits are computed with the 21 characters presented previously. So the first 4 characters of the IBAN are not taken into account.

As already mentioned above, the structure of the BBAN is not the same in different countries. More specifically, the BBAN of many countries does not have check digits. The German BBAN (18 characters) and the dutch BBAN (14 characters) for example do not contain verification digits. The list of IBAN formats by country is available on wikipedia.

Specificities of IBAN number in certain countries

IBAN of certain countries can begin with two different country codes. The French IBAN is the best example to illustrate those specificities. The country code of France is FR. Knowing that, you expect that all French IBANs start with FR. Don’t you? But this is not always the case. The country code of a French IBAN does not always begin with FR as one might think.

France has Overseas Departments and Territories (usually referred to as the DOM-TOM), which can be designated by a specific “country” code in addition to the country code FR. As a consequence, two country codes can be used in the IBAN of a DOM-TOM. Example of the French DOM-TOM where two ISO country codes are allowed in their IBAN are: Guadeloupe (GP or FR), French Guiana (GF or FR), French Polynesia (PF or FR), Mayotte (YT or FR), Saint Pierre and Miquelon (PM or FR), and so on.

[box type=”info” size=”large” style=”rounded”]The IBAN check digits depend on the ISO country code that appear at the beginning of the IBAN. If you consider Guadeloupe for example, the IBAN check digits will be different if you have GP than if you have FR at the beginning of the IBAN.[/box]

Now when you see an IBAN starting with FR, concluding that the account is located in Metropolitan France can be wrong. You need to analyze other information like the BIC or the Bank account details to know where the account is really located. These specificities make validity checks of IBAN (length, country, check digits) a little more complex for France.

But the “good news” is that France is far from being an exception. We also find these specificities in IBAN for United Kingdom, Denmark, Norway, Italy … in short for all countries which have DOM / TOM or similar territories.

Convertion of BBAN number to IBAN number

Since SEPA Payments require the IBAN, all national accounts formats (BBAN) are to be converted into IBAN. This is the responsibility of the bank holding the account. The Bank must communicate the IBAN corresponding to the BBAN to his customer. But you don’t need to wait for your Bank to know which IBAN corresponds to a specific BBAN. You can do the conversion yourself if you know the conversion algorithm. Even easier, many Internet sites provide BBAN to IBAN convertors.

The BBAN to IBAN conversion works pretty well for the countries where the BBAN is properly structured and contains accurate information about the banks. But, as can be read on the website of the ECBS (European Committee for Banking Standards), the tools that automatically generate IBANs from domestic account numbers are not guaranteed to give correct IBANs because of the following reasons:

  • The BBAN cannot always be automatically derived from the domestic account number.
  • The BIC cannot always be derived from the BBAN.

The ECBS therefore concludes that the generation of the IBAN is primarily the responsibility of banks or payment service providers holding the account. They must work with the relevant national and international bodies to ensure that the IBAN generation algorithm is correct. The purpose of the standard is to make the conversion clear and easy for all countries and to automate it as far as possible.

IBAN Number checker

The IBAN validity can be checked at IBAN level and BBAN level. The BBAN level check can be performed when the BBAN contains (national) check digits. There are two possibilities to perform an IBAN validation:

  1. You can extract the country code and the BBAN from the received IBAN to compute the two check digits and then compare the results with the check digits received. If both are equal, then the IBAN is considered as valid. However, a valid IBAN does not guarantee that the BBAN is valid.
  2. You can convert the received IBAN into an integer and then perform a basic mod-97 operation (as described in ISO 7064) on it. If the IBAN is valid, the remainder must equal 1.

In some countries like Spain, additional check digits are present in the BBAN itself to ensure that the BBAN is correct. The last digit of the Finnish BBAN is a check digit. The last two digits of a French BBAN are check digits. The check digits can be computed from remaining alphanumeric charcters of the BBAN. These checks can be performed by banks in all SEPA countries since they are based on public algorithms. But in general only banks of the IBAN country perform these checks.

Verification of bank and branch codes in IBAN number

Another validation at IBAN level consists in verifying that bank and branch codes indicated in the BBAN are correct. Let us consider the following French IBAN: FR76 30004 01400 62791687632 36 (BBAN is bold). This IBAN is well formed and all the check digits are correct. You can easily verify that with an online IBAN checker. But there is a problem. The Bank code 30004 is for BNP PARIBAS and a branch with the code 01400 does not exist for that Bank. The IBAN Plus directory provided by SWIFT contains the bank and branch code of all banks in SEPA. While checking the IBAN, the bank and branch codes 3000401400 are extracted and their existence is validated towards the IBAN Plus directory. Since the codes cannot be found inside, the IBAN is not valid and the payment cannot be processed.

A valid IBAN and BBAN does not necessarily mean that the payment will be processed successfully. That is where account verification comes into play. An account with a valid number can be blocked, closed or even non-existent. So the status of the account is important for the result of the payment processing and has to be taken into account.

If a payment is received on a closed account for example, the funds will be returned to the sender in most of the cases. But in some cases, the decision to close the account has been taken by the bank itself as a result of a merger for instance. The account has been migrated to another one with a new number. In this case, the closed account will be linked to the new one and the money will have to be redirected automatically to the new account. That kind of situation is encountered quite often today because of projects pertaining to mergers and acquisitions. If an account has been migrated to another one, the verifications must be performed on the migrated account to ensure that it is open and funds can be debited from or credited to it.

For your information, I have published an ebook about SEPA Credit Transfer where IBAN, BBAN and other topics like clearing, settlement, accounting, SEPA Payment messages are handled in depth.

Below are the links on amazon (Check if the book is on the amazon site of your own country).

Kindle edition
Paperback edition

You can download the sample for free. Here is the link to download the sample of the SEPA Credit Transfer eBook.

You can watch the presentation and get the ebook on this page.

Previous articleUsage of MT400 SWIFT Message to announce the proceeds
Next articleTrade Finance basics
Jean Paul is passionate about payments. After contributing on many payments projects across Europe, he has developed a very strong payments expertise in domestic, cross border and cards payments. He loves to learn new things and to pass on his knowledge. He believes that people can acquire payments skills easier and faster for any scheme and in any country if they are guided and trained properly. He runs the blog paiementor.com and the youtube channel paiementorTV to help people understand and implement payments systems easier and faster.


Please enter your comment!
Please enter your name here