IBAN Validator
Validate IBANs: format, the length for each country and the ISO 13616 mod-97 check digits, with the correct check digits shown for a mistyped IBAN.
Free · No sign-up · Your inputs stay in your browser
Input
Validate IBANs
Output
3 of 5 valid
| IBAN | Country | Result | Details |
|---|---|---|---|
| GB82 WEST 1234 5698 7654 32 | GB | valid | BBAN WEST12345698765432 |
| DE89 3704 0044 0532 0130 00 | DE | valid | BBAN 370400440532013000 |
| FR14 2004 1010 0505 0001 3M02 606 | FR | valid | BBAN 20041010050500013M02606 |
| NL91 ABNA 0417 1643 01 | NL | invalid | check digits should be 64 |
| GB82 WEST 1234 5698 7654 33 | GB | invalid | check digits should be 55 |
ISO 13616: move the first four characters to the end, replace letters with numbers (A = 10 ... Z = 35) and the result mod 97 must be 1. That catches every single-character typo and nearly all transpositions, but proves only that the number is well-formed, not that the account exists or who holds it. Lengths are per country, from the SWIFT IBAN registry.
Runs in this browser. Nothing you paste is sent to a server.
About this tool
Method, assumptions, practical next steps, and limits.
What validation proves
A valid IBAN is well-formed: the mod-97 check catches all single-character errors and almost all transpositions. It does not prove the account exists, is open or belongs to the person named; only the bank, or a confirmation-of-payee service where one exists, can say that. The algorithm is defined in ISO 13616 and the lengths are published in the SWIFT IBAN registry.
In code
Libraries such as php-iban and python-stdnum validate IBANs and the national bank codes inside them, which this check does not.