IBAN Validator

Check whether an IBAN is valid using the official mod-97 checksum, entirely in your browser.

1,063 views

How the Mod-97 Checksum (ISO 7064) Actually Works

Every IBAN encodes its own checksum according to the international standard ISO 7064 (MOD 97-10), referenced by the IBAN standard ISO 13616. Validating one is a precise, mechanical process: first, the four leading characters — the two-letter country code and the two check digits — are moved to the end of the string. Next, every letter in the rearranged string is replaced by a two-digit number (A=10, B=11, ... Z=35), turning the whole IBAN into one very long numeral. Finally, that number is divided by 97; if the remainder is exactly 1, the checksum is valid.

As a worked example, take a fictional Turkish IBAN such as TR33 0006 1005 1978 6457 8413 26. Moving "TR33" to the end and converting the two letters to digits (T=29, R=27) produces one long number; dividing that number by 97 leaves a remainder of 1, confirming the checksum. Change a single digit anywhere in the account number and this same calculation will almost never land back on remainder 1 — which is exactly why the check catches the overwhelming majority of typos, transposed digits and copy-paste mistakes before a transfer is even attempted.

Beyond the checksum, the tool also checks that the total length matches what is expected for the country: Turkish IBANs are always 26 characters, German ones 22, British ones 22, French ones 27, and so on — a length mismatch fails validation even before the mod-97 arithmetic runs. Everything happens with JavaScript inside your browser; the IBAN you type is never transmitted to any server.

What This Check Can and Cannot Tell You

It is important to be precise about what a "valid" result actually means — this is a format check only, not proof that the account exists:

  • A passing result means the number is structurally well-formed. It does not confirm that the account is open, active, or belongs to the person or company you expect.
  • Verifying the account holder's name is a separate step. Many banks and payment systems run a name-matching check at the moment of a transfer; this tool has no access to bank records and cannot replicate that.
  • A syntactically valid IBAN can still belong to a closed or frozen account. Only the account-holding bank can confirm the account's real-world status.
  • Country-specific internal rules beyond length are not checked here. Some countries apply additional structure inside the BBAN portion; this tool validates the internationally standardized mod-97 part shared by every IBAN country.

In short: treat a valid result as "no typo detected," never as "payment guaranteed to arrive."

Frequently Asked Questions

Does a valid result mean the account exists?

No. The mod-97 check confirms the IBAN is structurally correct and free of typos. Whether the account is open and belongs to the intended person can only be confirmed by the bank.

Is my IBAN sent to a server?

No. The checksum is computed with JavaScript in your browser; nothing you type leaves your device.

How long is an IBAN?

It varies by country: Turkey uses 26 characters, Germany 22, the UK 22, France 27. The country code (first two letters) determines the expected length, which this tool verifies.

What exactly does the mod-97 calculation check, step by step?

Three steps: move the first four characters (country code + check digits) to the end; convert every letter to a two-digit number (A=10 ... Z=35); divide the resulting large number by 97. A remainder of 1 means the checksum is valid — any other remainder means there is a typo somewhere in the IBAN.

Can a valid IBAN still fail or bounce during a real transfer?

Yes. Mod-97 only catches formatting errors. A structurally valid IBAN can still belong to a closed account, mismatch the name on the transfer form, or belong to a bank no longer active in a given payment scheme — those failures happen at the bank level, not in this checksum.

Comments

No comments yet — be the first to write one!

Similar Tools