IBAN Validator

ISO 13616

Validate any IBAN with mod-97 checksum verification, country-aware length checks, and structured result output. Supports 70+ countries. Runs entirely in your browser.

Spaces are ignored. Input is normalized automatically.

Try an example:

Enter an IBAN above to validate it

How IBAN validation works

  1. 1.Normalize the IBAN — remove spaces, uppercase all characters.
  2. 2.Check the country code and verify the total length matches the expected value for that country.
  3. 3.Move the first 4 characters to the end, replace letters with digits (A=10, Z=35).
  4. 4.Compute the result modulo 97. A valid IBAN must produce a remainder of 1.

Common issues

  • Wrong country length — each country has a fixed IBAN length (e.g. DE = 22, GB = 22, FR = 27). A digit off means invalid.
  • Check digits 00, 01, 99 — these values are reserved and will always fail mod-97 validation.
  • Transcription errors — the mod-97 check catches single-digit swaps and substitutions.
  • BBAN format — after the country + check digits, the BBAN format varies per country (sort code, account number, bank identifier).

Dev snippet — validate IBAN (JavaScript)

function validateIban(raw) {
  const iban = raw.replace(/\s/g, "").toUpperCase();
  const rearranged = iban.slice(4) + iban.slice(0, 4);
  const numeric = rearranged.replace(/[A-Z]/g, (c) => c.charCodeAt(0) - 55);
  let remainder = 0;
  for (const ch of numeric) remainder = (remainder * 10 + parseInt(ch)) % 97;
  return remainder === 1;
}

Frequently asked questions

What countries support IBAN?

Over 70 countries use IBAN, including all EU and EEA member states, the UK, Switzerland, Norway, and many in the Middle East and Caribbean. The US and Canada do not use IBAN for domestic transfers.

Does a valid IBAN mean the bank account exists?

No. The mod-97 checksum verifies structural integrity and catches typos, but cannot confirm the account is open or belongs to any specific person. Always verify with the account holder directly for high-value transfers.

What is the BBAN portion of an IBAN?

The Basic Bank Account Number (BBAN) is the country-specific section after the 4-character prefix (country code + check digits). Its internal format varies: in Germany it encodes the Bankleitzahl and account number; in the UK, the sort code and account number.

Why does IBAN validation use modulo 97?

The mod-97 algorithm (ISO 7064) catches virtually all single-character errors and most transposition errors — the most common mistakes when entering bank account numbers manually.