Guide
How IBAN Checksum Validation Works
Learn the MOD97-10 idea behind IBAN checksum validation in plain English, including normalization, rearrangement, letter conversion, and chunked calculation.
Who this guide is useful for
Developers, QA testers, finance operations teams, and curious users who want to understand IBAN format-check results.
The checksum idea
The IBAN checksum is designed to catch many typing mistakes. It does this by converting the IBAN into a numeric sequence and checking whether the MOD97-10 remainder has the expected result.
The plain-English steps
A validator normalizes the input, checks the country length, moves the first four characters to the end, converts letters to numbers, and calculates the remainder.
- Remove spaces and hyphens, then uppercase letters.
- Check that the country code and length are supported.
- Move the country code and check digits to the end.
- Convert A to 10, B to 11, through Z to 35.
- Run MOD97-10 and expect a remainder of 1.
Why chunked calculation is used
The converted numeric sequence can be too long for safe full-number conversion. A chunked MOD97 calculation processes smaller pieces so the full IBAN is never converted into one large Number.
Practical checksum example
For the example DE89 3704 0044 0532 0130 00, the checker uses DE as the country code, 89 as the check digits, and the remaining BBAN characters for the MOD97-10 process.
- Normalize to: DE89370400440532013000
- Move first four characters to the end before numeric conversion.
- Convert letters such as D and E into numeric values.
- A checksum-passing IBAN produces MOD97 remainder 1.
Important limitations
BankCodeKit checks format and reference data only. It does not confirm account existence, account ownership, bank connectivity, sanctions status, fraud risk, payment readiness, or payment success.
- Checksum validation does not catch every possible mistake.
- A passed checksum does not confirm account existence.
- A passed checksum does not confirm account ownership.
- A passed checksum does not confirm payment readiness or payment success.
FAQ
What does MOD97 mean?
It means the validator checks the remainder after dividing the converted numeric sequence by 97.
Why should the remainder be 1?
The IBAN checksum standard expects a valid rearranged and converted IBAN to produce remainder 1.
Why not use Number for the full converted IBAN?
The converted sequence can be too large for safe full-number handling, so chunked calculation is safer.
Does checksum validation prove the recipient is correct?
No. It only checks the structure and checksum.
Sources and update note
BankCodeKit keeps payment-code checks browser-local and uses local reference data for format and country information. Official public source pages are used for reference, but BankCodeKit does not perform live bank, account, sanctions, or payment-network confirmation. Reference data is reviewed periodically and does not imply live accuracy.
- Swift IBAN Registry Reference information for IBAN structure, country support, and format rules.
- Swift BIC / ISO 9362 information Reference information for visible Business Identifier Code structure and usage context.
- European Payments Council SEPA scheme countries list Reference information for countries and territories in SEPA scheme scope. Local data reviewed 2026-05-16 against EPC List of SEPA Scheme Countries v8.0, issued 2025-12-24.
BankCodeKit checks format and reference data only. It does not confirm account existence, account ownership, bank connectivity, sanctions status, fraud risk, payment readiness, or payment success.
Last reviewed: 2026-05-15 Sources: Swift IBAN Registry, Swift BIC / ISO 9362 information, European Payments Council SEPA scheme countries list Reference data is reviewed periodically. BankCodeKit does not perform live bank, account, sanctions, or payment-network confirmation.