IBAN Validation Help



When you submit an IBAN to our system we perform multiple checks to make sure it is correct and valid.

IBAN Checksum


This is the first and most important check we perform.
The IBAN check digit consists of two digits in positions 3 and 4 of the IBAN.
It is calculated using the MOD97 algorithm and provides the primary integrity check for the IBAN standard.
Supported for all 116 countries.

If this check is not passed, we do not run any further tests as the IBAN is invalid for certain.



Account Number checksum (in BBAN)


Every IBAN contains a local bank account number also called BBAN ( Basic Bank Account Number).
Some countries use internal check digit algorithms to validate domestic BBAN.
Every country uses a different algorithm and in some countries algorithms vary from bank to bank or even individual branches.

For example:

United Kingdom (UK) is using 3 different algorithms: MOD10 , MOD11 and DBLAL with 39 different weights. This makes over 100 different variations.

The Netherlands (NL) is using MOD11 algorithm with custom weights to validate account numbers. France (FR) is using MOD97 algorithm with custom weights.

Germany (DE) has a complex structure with 143 algorithms and custom weights: MOD10 , MOD11, MOD7 ect.

Italy (IT) is using modified MOD10 algorithm in domestic account number validations.

Sweden (SE) is using 5 different algorithms: MOD11, MOD10 algorithms with custom weights.

Once we identify and perform the appropriate validation our engine will return one of the following results:

Account Number checksum is valid - You may consider the account number as valid.

Account Number checksum not correct - Account number is invalid. You may deduct that IBAN is also invalid.

Account Number does not support checksum validation - Many banks and countries do not support Account Number validation. In this case we rely on the IBAN check digit for integrity control.

Currently, a total of 48 countries support BBAN and domestic account number check digit validation.



IBAN Format and Structure


The second check we perform is country specific IBAN structure validation.
We know each country's internal rules for the specific positions and characters inside the IBAN.
This check is helpful when the country does not support internal account number check digit validation.

Possible results for this check are:

IBAN Formatting and Structure is correct!

IBAN Formatting and Structure is not correct!

Formatting

Our validation engine can recognize the specific format of 116 countries that use IBAN.

Format validation takes into account:

bank code position - Checks if the bank identifier is in the correct place.
branch identifier position - Not all countries have branch code. We perform that check for a total of 58 countries.
national check digit position - This check is performed only for countries supporting internal check digit. ( 48 countries )

Structure

The structure check compares the specific characters used in the different parts of the IBAN.
We support structure checks for 116 countries using IBAN.

Structure validation checks if:

bank code contains alpha, numeric or alpha-numeric

bank code contains alpha, numeric or alpha-numeric

branch identifier code (if available) contains alpha, numeric or alpha-numeric

in national check digit (if available) contains alpha, numeric or alpha-numeric



IBAN Length


Checking the specific length of the IBAN for each country's standard is the third layer of validations we do.
Each of the 116 countries in our internal registry has it's own length specified.

Possible responses here are:

IBAN Length is correct for United Kingdom
***Country Name*** IBAN must be **N** characters long

If the IBAN is longer or shorter than that length, it should be considered incorrect.



SEPA Support


We check the country code from positions 1 and 2 of the IBAN against the list of countries participating in the SEPA standard.

Possible validation results are:

Country supports SEPA!

Currently, SEPA is supported by a total of 37 countries.