IBAN & SEPA
Modulus 97 Check Algorithm
MOD-97 is the modular arithmetic algorithm used to calculate and verify the check digits in an IBAN. It is based on dividing a large number by 97 and examining the remainder. The algorithm is part of the ISO 7064 standard and was chosen for its strong error-detection properties.
To validate an IBAN, the first four characters (country code + check digits) are moved to the end. Every letter is then replaced with a two-digit number (A=10, B=11, ... Z=35), producing a long numeric string. This integer is divided by 97 — if the remainder is 1, the IBAN is valid. To generate check digits for a new IBAN, the same process is applied with 00 as placeholder digits, and the final check digits are computed as 98 - remainder. Because the resulting number can exceed what standard integer types can hold, implementations use a piecewise modulo technique to process it in chunks.
MOD-97 catches all single-character errors and nearly all transpositions of two adjacent characters, giving it a detection rate above 99%. This makes IBANs far more robust than account numbers that rely on simpler checksums. You can see MOD-97 validation in action by pasting any IBAN into the BankCheck IBAN checker.
Back to all terms.