induwara.lk
induwara.lkFinance · Global

IBAN Validator & Checker

Paste any International Bank Account Number to confirm it before a wire transfer. Checks the country, the exact length, and the ISO 7064 check digits — and extracts the bank code for major countries. Runs entirely in your browser; nothing is uploaded. No signup, no ads.

By Induwara AshinsanaUpdated Jul 2, 2026
Validate an IBANISO 13616
MOD-97-10 · 100% offline

Spaces and hyphens are ignored. Nothing is uploaded — validation runs entirely in your browser.

Try an example

Valid IBAN

DE89 3704 0044 0532 0130 00

Country
🇩🇪 DE
Germany
Length
22 / 22
Matches country spec
Checksum
Pass
ISO 7064 MOD-97-10
Check digits
89
Characters 3–4

What the number encodes

FieldValue
Bank code (Bankleitzahl)37040044
Account number0532013000

Length & structure checked against the (89 countries). See sources below.

How it works

An IBAN (International Bank Account Number) is defined by ISO 13616. It is a single string of up to 34 characters made of three parts: a two-letter ISO 3166-1 country code, two check digits, and the BBAN (Basic Bank Account Number) whose length and layout are fixed per country by the SWIFT IBAN Registry. This checker validates in three stages, each matching the official standard.

  1. Normalise & screen. All spaces and hyphens are removed and letters are uppercased. Any character outside A–Z / 0–9 is rejected, as is anything shorter than 5 or longer than 34 characters, or that does not start with two letters then two digits.
  2. Country & length. The first two characters are read as the country code and looked up in a table built from the SWIFT IBAN Registry Release 99 (May 2025). If the code is unknown the IBAN is rejected; if the total length does not match the registry's required length for that country, the exact expected value is shown.
  3. Checksum (ISO 7064 MOD-97-10). The first four characters are moved to the end, every letter is replaced by two digits (A=10 … Z=35), and the resulting all-digit string is reduced modulo 97. Because that number is far larger than 64 bits, the remainder is computed piecewise: rem = (rem × 10 + nextDigit) mod 97. The IBAN is valid only if the final remainder equals 1.

As an independent cross-check the tool also derives what the check digits should be — 98 − MOD-97(BBAN + country + "00") — and confirms they equal the two digits actually present. Both routes must agree for a green verdict. For 89 countries the length and structure come straight from the registry; for major countries (Germany, the UK, France, Spain, Italy, the Netherlands and more) the bank, branch and account offsets are mapped so the tool can split out what the number encodes. Every rule here is fixed by ISO 13616 and ISO 7064 — there is no estimation.

Worked examples

Valid German IBAN — DE89 3704 0044 0532 0130 00

  1. Country DE is in the registry; required length 22, actual 22 ✓
  2. Rearrange: move DE89 to the end → 370400440532013000DE89
  3. Expand letters D=13, E=14 → 370400440532013000131489
  4. Piecewise mod 97 of that number = 1 → checksum passes ✓
  5. Verdict: VALID. Bank code 37040044, account 0532013000

Valid UK IBAN — GB82 WEST 1234 5698 7654 32

  1. Country GB is in the registry; required length 22, actual 22 ✓
  2. Rearrange: WEST12345698765432GB82
  3. Expand W=32,E=14,S=28,T=29,…,G=16,B=11 → 3214282912345698765432161182
  4. Piecewise mod 97 = 1 → checksum passes ✓
  5. Verdict: VALID. Bank WEST, sort code 123456, account 98765432

Invalid — one digit changed — GB83 WEST 1234 5698 7654 32

  1. Same length (22) and same country as the valid example above
  2. But the check digits are now 83 instead of 82
  3. Recomputing MOD-97-10 gives remainder 2, not 1
  4. A single altered character breaks the checksum — this is exactly what the two check digits exist to catch
  5. Verdict: INVALID — checksum failed

Frequently asked questions

Sources & references

The per-country length and BBAN structure table was last cross-checked against the SWIFT IBAN Registry Release 99 (May 2025) on 2026-07-02. It is reviewed whenever SWIFT publishes a new IBAN Registry release (roughly quarterly).

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a bug, edge case, or want a country's bank fields added?

Email me at [email protected] — most fixes ship within 24 hours.