IBAN Validator & Formatter

This IBAN validator and formatter checks any International Bank Account Number against the official MOD-97 checksum (ISO 7064) and each country's fixed IBAN length, then reformats it into readable groups of four characters — the same layout banks print on statements.

How to use it

Paste an IBAN with or without spaces. The tool strips formatting, uppercases letters, checks the length against the expected value for that country's two-letter prefix, then runs the MOD-97 checksum. If both pass, it prints the IBAN reformatted into groups of four.

How the MOD-97 checksum works

IBAN validation moves the first four characters (country code + two check digits) to the end of the string, converts every letter to two digits (A=10 through Z=35), and treats the result as one large number. A valid IBAN always leaves a remainder of exactly 1 when that number is divided by 97 — a property mathematically guaranteed by how the two check digits were generated in the first place.

Why length matters as much as the checksum

Every IBAN country has a fixed total length — Dutch IBANs are always 18 characters, German IBANs 22, Maltese IBANs 31. A string that happens to pass the checksum but has the wrong length for its country is not a valid IBAN, so this tool checks both independently.

IBAN Validator & Formatter Pro

Pro version coming soon — batch validation via CSV upload, exportable results, API access, and an offline version. The free tool stays free.

Pro version coming soon

Batch validation via CSV upload, exportable results, API access, and an offline version are on the way. The free tool stays free.

Frequently asked questions

What does "valid IBAN" actually mean?

It means the IBAN has the correct length for its country and passes the MOD-97 checksum defined in ISO 7064 — the same math banks use to reject mistyped account numbers before a payment is even attempted. It does not confirm the account exists or is currently open.

How does the MOD-97 checksum work?

The first four characters (country code and check digits) are moved to the end, every letter is replaced with two digits (A=10 ... Z=35), and the resulting number is checked for a remainder of exactly 1 when divided by 97. This one formula works for every country's IBAN.

Why does it say my IBAN has the wrong length?

Each country has a fixed IBAN length — Dutch IBANs are always 18 characters, German ones 22, and so on. If your input doesn't match the expected length for its country code, it can't be a valid IBAN regardless of the checksum.

Is my IBAN sent anywhere when I use this tool?

No. The validation and formatting happen entirely in your browser. Nothing is transmitted, logged, or stored.

Can I paste an IBAN with spaces?

Yes — spaces, dashes, and lowercase letters are all normalized automatically before checking, and the formatted output groups the result into readable blocks of four characters.