Understanding IBAN Checksums
Learn how IBAN checksum digits are calculated, why the modulo 97 step matters, and how to validate them reliably in your payment workflows.
Every International Bank Account Number contains two checksum digits that make sure the account reference has been captured accurately. The checksum is calculated by moving the first four characters to the end of the IBAN, replacing letters with their numeric equivalents, and performing a modulo 97 operation. If the result of that operation equals 1, the number is structurally sound; if not, the IBAN should be rejected before it travels any further through your systems.
Consider a French IBAN such as FR76 3000 6000 0112 3456 7890 189. After rearranging the characters and translating letters to digits, the number becomes 30006000011234567890189FR76, which can be evaluated with standard big-integer libraries. The process might sound technical, but it can be implemented with a few lines of code in most languages, and doing so consistently eliminates many manual reconciliation headaches.
Implementing checksum validation early in your onboarding flow prevents avoidable payment failures. Most engineering teams perform the modulo 97 check in the browser before sending data to the server, then repeat the validation on the backend to guard against tampering. Coordinating these checks with your product and support teams also helps them explain error messages to customers in clear, actionable language.
When you generate IBANs with RandomIBAN, the checksum is always aligned with the latest ISO 13616 rules. You can safely use these test values to unit-test validation libraries, QA bulk imports, and demonstrate payment journeys without exposing real account numbers. We also publish changelogs whenever regulators adjust national formats so your internal documentation stays in sync.