Guide
Validating IBANs with the mod-97 check and country rules
Sending money abroad used to mean copying a bank name, a branch code and an account number in a country-specific layout, and getting any digit wrong could send a payment astray. The International Bank Account Number, standardised as ISO 13616, replaced that with one format that begins with a country code and two check digits. Because of those digits, a mistyped IBAN can almost always be detected before the payment is sent. This validator performs the check and breaks the number into its parts.
Structure
An IBAN is a two-letter country code, two check digits, and a basic bank account number whose layout the country defines. The total length is fixed per country: 22 characters in Germany and the United Kingdom, 27 in France, 15 in Norway. The page knows the lengths for more than 75 countries and rejects a number with the wrong length before doing any arithmetic, with a message such as “Wrong length: DE IBANs have 22 characters, not 21”.
The mod-97 check
To verify, move the first four characters (country and check digits) to the end, replace each letter by its position number from 10 for A to 35 for Z, and read the result as one large integer. If the remainder after dividing by 97 is 1, the IBAN is well formed. To create the check digits, the same calculation is run with 00 in their place and the remainder is subtracted from 98. A single wrong character, or two swapped digits, changes the remainder, so errors are caught with very high probability.
A worked example
Press Sample to check five IBANs: three valid, two not. GB82 WEST 1234 5698 7654 32 is valid and breaks into bank code WEST, sort code 123456 and account number 98765432. DE89 3704 0044 0532 0130 00 is valid, with bank code (BLZ) 37040044 and account number 0532013000. FR14 2004 1010 0505 0001 3M02 606 is valid at 27 characters, with the letter M in the account number, bank code 20041, branch code 01005, account number 0500013M026 and national check key 06. GB83 WEST 1234 5698 7654 32 differs from the first only in the check digits and fails the mod-97 test, and the page shows that the correct check digits are 82. DE8937040044053201300 is one character short.
Print and electronic forms
On paper an IBAN is written in groups of four characters, separated by spaces, to make it easier to read and copy. In files and online forms it is written without spaces. The page shows both forms and accepts either, in upper or lower case, so you can clean a column of mixed formats.
Using the check in practice
Run IBANs through the validator before importing a payment file, when onboarding suppliers, or while debugging a rejected SEPA batch. A pass tells you the number is well formed for its country. A failure with a suggested check digit usually points to a transposition. If the length is wrong, look for a missing leading zero lost in a spreadsheet.
Limits
A valid IBAN proves nothing about the account: it may be closed, belong to someone else or not exist. The page has no bank directory, so it does not look up bank names. The bank and account split is provided for ten countries, and other countries show the number without that breakdown. Everything runs in your browser.
Related tools
- SWIFT/BIC and IFSC Decoder validates the bank code that often accompanies an IBAN.
- ABA Routing Number Validator covers US bank routing numbers.
- Luhn Validator checks card numbers.
- GTIN, EAN and UPC Check Digit Calculator validates product barcodes.
Checked against the current version of the IBAN Validator on .

