IBAN Checker

Check an International Bank Account Number before you send money abroad. The country code, length, account structure and checksum are tested in order, and when something is wrong you are told which position failed and why. Nothing leaves your browser.

How to use

  1. Paste the IBAN exactly as you received it — spaces, hyphens and lower case are cleaned up for you.
  2. Read the verdict and, if it fails, the reason: unknown country, wrong length, wrong structure, or a bad checksum.
  3. Use the breakdown to confirm the bank and account parts, then copy the grouped print format into your paperwork.

An IBAN is a country code (2 letters) + check digits (2 numbers) + the domestic account number (BBAN). The total length is fixed per country — Norway is the shortest at 15, Russia the longest at 33.

The checksum is ISO 7064 MOD 97-10: move the first four characters to the end, expand letters as A=10 … Z=35, and the remainder modulo 97 must be 1.

In depth

What an IBAN actually is

An IBAN (International Bank Account Number) is a way of writing an existing account number in one internationally readable line. It does not replace the domestic account number: it puts a country code and two check digits in front of it.

ISO 13616 defines the format, and SWIFT acts as the Registration Authority — it publishes each country's length and BBAN structure in the IBAN Registry. In Europe, the SEPA Regulation (Regulation (EU) No 260/2012) made IBAN effectively mandatory for euro credit transfers and direct debits.

So although IBAN is often described as a European thing, it is not only European. Saudi Arabia, Türkiye, Brazil, Pakistan, Mauritius and many others have adopted it.

The structure: the first four characters and the rest

Every IBAN has three parts: a 2-letter country code (ISO 3166-1 alpha-2), 2 check digits, and the BBAN — the domestic account number.

In DE89370400440532013000 that is DE (Germany) + 89 (check digits) + 370400440532013000. The German BBAN is an 8-digit bank code (Bankleitzahl) followed by a 10-digit account number, so the bank code is 37040044 and the account is 0532013000.

How the BBAN divides up differs by country. The UK uses 4!a6!n8!n — a four-letter bank code, a six-digit sort code and an eight-digit account number. France uses bank 5 + branch 5 + account 11 + a two-digit national key (clé RIB). This tool carries that structure table for every registered country, so it can check each position for digits-only, letters-only or either.

What the mod-97 checksum catches

The check digits use ISO 7064 MOD 97-10. The recipe: ① move the first four characters to the end, ② expand letters into numbers (A=10, B=11 … Z=35), ③ divide the resulting long number by 97 — the remainder must be 1.

For DE89370400440532013000: ① 370400440532013000DE89, ② D=13 and E=14 give 370400440532013000131489, ③ that number modulo 97 is 1.

A prime modulus of 97 is chosen for its coverage. Every single-character error is caught, as is essentially every transposition of two neighbouring characters. A randomly made-up IBAN has roughly a 1-in-97 chance — about 1% — of passing by accident.

What it cannot do is catch two errors that cancel each other out. The checksum filters typing mistakes; it does not certify that the account exists.

Why the length differs by country

Each country has exactly one IBAN length, and it follows from how long that country's domestic account numbers already were. The standard caps the total at 34 characters.

The shortest is Norway at 15, then Belgium at 16. The longest is Russia at 33, then Saint Lucia at 32, and Malta and the Seychelles at 31.

Among the countries people send to most: the Netherlands 18, Switzerland 21, Germany and the UK 22, Spain and Saudi Arabia 24, Türkiye 26, France and Italy 27, Poland 28, Brazil and Egypt 29.

This means length alone rejects a large share of bad input. A paste that lost a character or duplicated one fails on length before the checksum is even reached — which is why this tool shows the expected length next to the actual one.

The mistakes that actually happen

0 versus O, 1 versus I or l. IBANs mix digits and capitals, so this is the most common transcription error by far. The per-country structure table knows which positions are digits-only, so an O in a numeric position is caught before the checksum is even computed.

Spaces and hyphens. Bank statements print IBANs in groups of four, but payment systems want them without spaces. This tool strips spaces, hyphens and dots and upper-cases the rest.

Misreading the country code. The first two letters are a country, not a currency or a bank. Monaco is MC, San Marino SM, Kosovo XK. Jersey, Guernsey and the Isle of Man have no code of their own and use GB.

Full-width characters. East Asian input methods can produce DE89, which looks identical but is a different character to a computer. This tool converts full-width forms before checking.

Country codes that do not exist as IBANs. There is no IBAN starting with US, JP or CN. If you were given one, the format itself needs questioning.

IBAN and SWIFT/BIC are not the same thing

An IBAN points at an account; a BIC points at a bank. A BIC is 8 or 11 characters — for example DEUTDEFF: 4 for the institution, 2 for the country, 2 for the location, and an optional 3 for the branch. It carries no account information.

Inside SEPA the IBAN identifies the bank on its own, so euro transfers work without a BIC. Payments leaving SEPA usually pass through correspondent banks, and banks then ask for the BIC as well.

In short: if the destination country uses IBAN, you send IBAN + BIC when asked; if it does not, you send account number + BIC + the local bank identifier (a US routing number, a UK sort code, and so on).

FAQ

If the IBAN is valid, will the transfer go through?

Valid means well formed, not that the account exists. The checksum only catches typing errors, so an invented account number will still read as valid if the length and check digits line up. Only the bank can confirm that the account is open and that the holder's name matches.

Why doesn't my US or Japanese account have an IBAN?

The United States, Japan, China, Canada, Australia and South Korea never adopted IBAN. Payments to those countries use a SWIFT/BIC code plus the local account identifier — a routing number in the US, a sort code and account number in the UK's domestic scheme, and so on.

What is the difference between an IBAN and a SWIFT/BIC code?

An IBAN identifies one account; a BIC identifies a bank or branch. The IBAN already contains a bank code, so inside SEPA the IBAN alone is usually enough. For payments leaving SEPA, banks often ask for the BIC as well because the money passes through correspondent banks.

Should I write an IBAN in groups of four?

Groups of four are the print format, used on paper and on screen. The electronic format has no spaces and is what you type into a payment system. They are the same number, and this tool shows both.

The checksum fails — where should I look?

Most often a 0 was read as O, or a 1 as I or lower-case l. The next most common fault is two adjacent characters swapped. This tool also shows what the check digits would have to be for the account number you typed, which tells you whether you miscopied the check digits or the account number itself.

Method and sources

What this tool bases its numbers on, and how far those numbers go.

What this tool is
This checks IBAN format and checksum only. It does not confirm that an account exists, verify the account holder, or judge whether a payment will succeed.
Formula
The input is upper-cased and stripped of spaces and hyphens, then tested in order: ① only A-Z and 0-9 remain, ② the first two letters are a registered IBAN country, ③ the length and BBAN structure match that country's entry in the SWIFT IBAN Registry, ④ moving the first four characters to the end and expanding letters as A=10 … Z=35 gives a number whose remainder modulo 97 is 1 (ISO 13616 / ISO 7064 MOD 97-10).
Worked example
DE89370400440532013000 → 370400440532013000DE89 → 370400440532013000131489 → remainder mod 97 = 1 (passes)
Limitations
  • It does not tell you whether the account is open or whether the holder's name matches — only the bank can.
  • It does not check the embedded bank code against a directory of real banks; that is a separate BIC lookup.
  • The checksum catches single-character errors and adjacent transpositions, but two errors can cancel out (a random string passes roughly 1 time in 97).
  • National check digits inside the BBAN — the French clé RIB, the Spanish DC, the Italian CIN — are not recalculated. Only the two international check digits are.
  • The length and structure table mirrors the SWIFT IBAN Registry, so newly registered countries take time to appear here.
Effective date
Last reviewed

Related tools

  • Retirement Savings Calculator — See how much you need for retirement and how much to save each month.
  • Loan Calculator — Monthly payments and total interest, three methods.
  • Zakat Calculator — Work out your Zakat (2.5%) against the nisab, with live gold/silver prices.
  • Halal Stock Screener — Check a stock's halal-to-haram revenue ratio and the Shariah debt and interest screens, with dividend purification.