International Bank Account Number Validator

Allows You to Validate International Bank Account Number

Enter a international bank account number (IBAN) that you wish to validate. Click the "GET VALIDATION" button to begin the validation. Upon successful completion of the validation, you will know if its valid or invalid.

Processing

One of the design aims of the IBAN was to enable as much validation as possible to be done at the point of data entry. In particular, the computer program that accepts an IBAN will be able to validate:

  • Country code
  • Number of characters in the IBAN correspond to the number specified for the country code
  • BBAN format specified for the country code
  • Account number, bank code and country code combination is compatible with the check digits

The check digits are calculated using MOD-97-10 as per ISO/IEC 7064:2003 (abbreviated to mod-97 in this article), which specifies a set of check character systems capable of protecting strings against errors which occur when people copy or key data. In particular, the standard states that the following can be detected:

  • All single substitution errors (the substitution of a single character for another, for example 4234 for 1234)
  • All or nearly all single (local) transposition errors (the transposition of two single characters, either adjacent or with one character between them, for example 12354 or 12543 for 12345)
  • All or nearly all shift errors (shifts of the whole string to the left or right)
  • High proportion of double substitution errors (two separate single substitution errors in the same string, for example 7234587 for 1234567)
  • High proportion of all other errors

Algorithms: Validating the IBAN

An IBAN is validated by converting it into an integer and performing a basic mod-97 operation (as described in ISO 7064) on it. If the IBAN is valid, the remainder equals 1. The algorithm of IBAN validation is as follows:

  1. Check that the total IBAN length is correct as per the country. If not, the IBAN is invalid
  2. Move the four initial characters to the end of the string
  3. Replace each letter in the string with two digits, thereby expanding the string, where A = 10, B = 11, ..., Z = 35
  4. Interpret the string as a decimal integer and compute the remainder of that number on division by 97

If the remainder is 1, the check digit test is passed and the IBAN might be valid.