UTILS.
100% in-browser
🏦

IBAN Validator & Parser

Validate an International Bank Account Number offline with the MOD-97 checksum and break it into country, check digits, bank code, branch, and account.

— output appears here —

About this tool

The IBAN Validator & Parser checks an International Bank Account Number for correctness and splits it into its parts — country, check digits, bank code, branch/sort code, and account number. It validates entirely offline in your browser (no bank lookup, no network), so it confirms structural and checksum validity, not whether the account actually exists.

Validation follows the ISO 13616 registry and the ISO 7064 MOD-97-10 algorithm. First the input is stripped of spaces and upper-cased, and its length is checked against the per-country table (for example DE=22, GB=22, FR=27, NL=18, ES=24; about 80 countries are bundled). Then the first four characters (country code plus the two check digits) are moved to the end, each letter is replaced by a number (A=10 … Z=35), and the resulting digit string is interpreted as a large integer; the IBAN is valid if and only if that integer mod 97 equals 1. The remainder is computed incrementally, digit by digit, so no big-number library is needed.

When the length and checksum pass, the BBAN is parsed using the country's structure table into bank code, branch, national check digits, and account number where those positions are known. A 'compute check digits' mode sets positions 3–4 to '00', runs the algorithm, and returns 98 − (mod 97) as the correct two check digits — useful when you have the country and BBAN and need to build the full IBAN. The result also shows the value formatted in the standard groups of four.

Frequently asked questions

Does this verify the bank account is real?
No. It validates the IBAN's structure — correct length for the country and a passing ISO 7064 MOD-97-10 checksum. It cannot tell whether the account is open or belongs to anyone; only the issuing bank can confirm that. It runs fully offline.
How does the MOD-97 check work?
The first four characters (country code + check digits) are moved to the end, each letter A–Z is replaced by 10–35, and the resulting number is taken modulo 97. A valid IBAN gives a remainder of exactly 1. The tool computes this remainder incrementally so it works without bignum support.
What is 'compute check digits' mode?
If you know the country code and BBAN but not the two check digits, this mode inserts '00', runs the checksum, and returns 98 minus the remainder as the correct check digits — then shows the complete, properly formatted IBAN.
Why can't it break down every country's fields?
Length and checksum validation cover roughly 80 countries, but the detailed bank/branch/account field positions are only bundled for common ones (such as DE, GB, FR, ES, NL, IT). For other countries the full BBAN is shown as a single account field.

More tools