IBAN validator: check an international bank account number before you pay
An IBAN validator catches the mistakes that make international payments bounce or, worse, land in the wrong account. This one checks an IBAN the way banks do: it confirms the country code is one of the 89 countries in the official IBAN registry, that the length matches that country (from 15 characters in Norway to 33 in Russia), that the account part fits the national pattern, and that the two check digits satisfy the ISO 13616 / ISO 7064 mod-97 test.
It also formats the number in the standard groups of four, shows the electronic (no spaces) form for online banking, and — for countries with a fixed, documented layout such as Germany, the UK, France, Spain, Italy and the Netherlands — splits out the bank code, branch or sort code and account number. The maths behind the check digits is shown step by step. Everything runs in your browser; the IBAN is never sent anywhere.
How to use the IBAN Validator
- Type or paste the IBAN. Lower case, spaces and dashes are tidied up automatically and the number is grouped in fours.
- Read the verdict: “Valid IBAN” means country, length, pattern and check digits all agree; otherwise the first problem is explained.
- Check the structure panel to see the bank code, branch or sort code and account number where the country has a fixed layout.
- Follow the mod-97 steps if you want to see why the check digits pass or fail.
- Copy the formatted or electronic version into your payment form.
IBAN Validator features
Complete registry
Lengths and BBAN patterns for all 89 IBAN countries, including territories that share another country’s format (French overseas departments, Åland, the Channel Islands and Isle of Man).
Exact mod-97 arithmetic
The 30-plus-digit number is reduced with BigInt (or chunked arithmetic in older browsers), so there is no floating-point rounding.
Field breakdown
Bank, branch and account parts for more than 40 countries with a fixed layout — only where the registry documents it.
Helpful failure messages
Length off by how much, which characters break the pattern, and what the check digits would be for the digits entered.
Non-IBAN guidance
Type IN, US, CA, AU and others and the tool explains what those countries use instead (IFSC, ABA routing numbers, BSB codes).
How the IBAN check digits work (ISO 13616 and ISO 7064 mod 97-10)
Worked example with GB82 WEST 1234 5698 7654 32: rearranged, it becomes WEST12345698765432GB82; converting the letters gives 3214282912345698765432161182; that number mod 97 equals 1, so the IBAN is valid. To generate check digits a bank starts with 00 in their place, computes 98 − (number mod 97) and pads to two digits — which is why 00, 01 and 99 never appear.
The mod-97 scheme detects every single-character error and almost every transposition of adjacent characters. It cannot tell you whether the account is open or who owns it.
- Move the first four characters (country code and check digits) to the end of the string.
- Replace every letter with two digits: A = 10, B = 11 … Z = 35.
- Treat the result as one large integer and compute the remainder after dividing by 97.
- If the remainder is exactly 1, the check digits are correct.
IBAN lengths for commonly used countries
The shortest IBAN is Norway’s at 15 characters; Malta uses 31, Saint Lucia 32 and Russia 33. Some countries have fixed check digits because their national account number already contains a mod-97 check — Portugal is always PT50, Slovenia SI56 and Bosnia BA39.
| Country | Length | Example (test values) | Structure after check digits |
|---|---|---|---|
| Germany (DE) | 22 | DE89 3704 0044 0532 0130 00 | 8-digit BLZ + 10-digit account |
| United Kingdom (GB) | 22 | GB82 WEST 1234 5698 7654 32 | 4-letter bank + 6-digit sort code + 8-digit account |
| France (FR) | 27 | FR14 2004 1010 0505 0001 3M02 606 | 5 bank + 5 branch + 11 account + 2 RIB key |
| Netherlands (NL) | 18 | NL91 ABNA 0417 1643 00 | 4-letter bank + 10-digit account |
| Spain (ES) | 24 | ES91 2100 0418 4502 0005 1332 | 4 bank + 4 branch + 2 check + 10 account |
| Italy (IT) | 27 | IT60 X054 2811 1010 0000 0123 456 | 1 CIN + 5 ABI + 5 CAB + 12 account |
| Switzerland (CH) | 21 | CH93 0076 2011 6238 5295 7 | 5 bank + 12 account |
| United Arab Emirates (AE) | 23 | AE07 0331 2345 6789 0123 456 | 3 bank + 16 account |
| Saudi Arabia (SA) | 24 | SA03 8000 0000 6080 1016 7519 | 2 bank + 18 account |
| Poland (PL) | 28 | PL61 1090 1014 0000 0712 1981 2874 | 8 bank/branch + 16 account |
Countries that do not use IBAN
Several of the world’s largest economies never adopted IBAN. India identifies branches with the 11-character IFSC code (for example SBIN0001234) alongside the account number, and uses SWIFT/BIC codes for inbound international transfers. The United States uses the 9-digit ABA routing number; Canada, Australia (BSB codes), Mexico (CLABE), China, Japan, Singapore and Hong Kong all have their own domestic schemes.
Payments to these countries need the account number, the national bank identifier and usually the SWIFT/BIC code — never an IBAN. For converting the amount, see the Currency Converter; for card numbers rather than bank accounts, use the Credit Card Validator.
IBAN Validator FAQ
Is this IBAN validator safe to use with my real account number?
The check runs entirely in your browser — no network request is made and nothing is stored. An IBAN is not secret anyway: it is printed on invoices so that people can pay you.
Does a valid IBAN mean the account exists?
No. Validity means the number is correctly formed: right country, right length, correct check digits. Only the receiving bank knows whether the account is open and who holds it. Many banks now offer confirmation-of-payee checks for exactly this reason.
Why does my IBAN fail even though I copied it from a statement?
Usually a letter O read as a zero (or vice versa), or a missing or doubled character. The tool shows how many characters are missing or extra and which pattern the account part must follow.
How does the tool know the right length for each country?
It embeds the lengths and account formats from the SWIFT IBAN Registry (release 99, December 2024), the official register for ISO 13616, and maps territories such as Guadeloupe (GF→FR) and Jersey (JE→GB) to their parent format.
Does India have an IBAN?
No. Indian bank accounts are identified by the account number and the branch’s IFSC code for domestic transfers (NEFT, RTGS, IMPS, UPI), and by the bank’s SWIFT/BIC code for international transfers. An IBAN starting with IN is not valid.
What is the difference between IBAN and SWIFT/BIC?
The IBAN identifies a specific account; the SWIFT/BIC code (8 or 11 characters, e.g. DEUTDEFF) identifies the bank itself. International transfers in Europe usually need both, although within SEPA the IBAN alone is sufficient.