Go to the checker

SWIFT Code Guide

Home → IBAN checker: length, format and check digits

IBAN checker: length, format and check digits

Check an IBAN against the Swift IBAN Registry: the exact length and pattern for 89 countries, the check digits, SEPA status, and where a typo is likely.

6 min read · Codes and rules next re-read on or before 2026-12-14

What the code checker does: 8 tools

What the checker tests, in order

  1. Characters. Letters and digits only. Spaces, and a leading "IBAN", are removed for you.
  2. Country. The first two letters must be a country in the Swift IBAN Registry. Swift is the registration authority designated by ISO for national IBAN formats (Swift). A US, Canadian or Australian "IBAN" is rejected with a plain explanation: those countries are not in the registry.
  3. Length for that country. A German IBAN has exactly 22 characters, a Maltese one 31. Off by one? You are told how many characters are missing or extra.
  4. Pattern for that country. Each position must be a digit, a letter, or either, as the registry's BBAN structure says. In a UK IBAN, characters 5 to 8 are letters and 9 to 22 digits, so a letter O typed for a zero is caught at its exact position.
  5. Check digits. The standard modulo 97 test: move the first four characters to the end, turn letters into numbers (A = 10 … Z = 35), divide by 97, and a valid IBAN leaves 1. The tool shows each step.

When the check digits fail: where to look

A bare "invalid" verdict tells you little, so this checker goes one step further. It tries every single-character change and every swap of two neighboring characters, and lists the positions where one such slip would make the check digits add up. The squares turn amber in the character strip.

Take GB82 WEST 1234 5698 7654 23, the widely published example IBAN with its last two digits swapped. Length and pattern are right, but the remainder is 49 instead of 1. The tool lists the few places where one slip would explain it: a single wrong character at positions 6, 8, 10, 18 or 20, or a swap at 7–8 or 21–22. The real mistake, 21–22, is on the list, and you only need to compare those spots with the original. It does not print a "corrected" IBAN. A changed IBAN can be another person's valid account, so the only safe fix is to ask the payee for the number again.

The other things you see

What it cannot test

IBAN length by country

All 89 countries in the Swift IBAN Registry, as read on October 30, 2026. Type a name, code or length to filter, or click a column heading to sort; the last column spells out each country's pattern. Some codes cover territories too: FR IBANs are used in the French overseas departments and territories, GB in the Isle of Man, Jersey and Guernsey, and FI in the Åland Islands (Swift registry).

Country Code IBAN length SEPA
Albania AL 28 Admitted 2024–25
Andorra AD 24 Yes (outside EU/EEA)
Austria AT 20 Yes
Azerbaijan AZ 28 No
Bahrain BH 22 No
Belarus BY 28 No
Belgium BE 16 Yes
Bosnia and Herzegovina BA 20 No
Brazil BR 29 No
British Virgin Islands VG 24 No
Bulgaria BG 22 Yes
Burundi BI 27 No
Costa Rica CR 22 No
Croatia HR 21 Yes
Cyprus CY 28 Yes
Czechia CZ 24 Yes
Denmark DK 18 Yes
Djibouti DJ 27 No
Dominican Republic DO 28 No
Egypt EG 29 No
El Salvador SV 28 No
Estonia EE 20 Yes
Falkland Islands FK 18 No
Faroe Islands FO 18 No
Finland FI 18 Yes
France FR 27 Yes
Georgia GE 22 No
Germany DE 22 Yes
Gibraltar GI 23 Yes (outside EU/EEA)
Greece GR 27 Yes
Greenland GL 18 No
Guatemala GT 28 No
Honduras HN 28 No
Hungary HU 28 Yes
Iceland IS 26 Yes
Iraq IQ 23 No
Ireland IE 22 Yes
Israel IL 23 No
Italy IT 27 Yes
Jordan JO 30 No
Kazakhstan KZ 20 No
Kosovo XK 20 No
Kuwait KW 30 No
Latvia LV 21 Yes
Lebanon LB 28 No
Libya LY 25 No
Liechtenstein LI 21 Yes
Lithuania LT 20 Yes
Luxembourg LU 20 Yes
Malta MT 31 Yes
Mauritania MR 27 No
Mauritius MU 30 No
Moldova MD 24 Admitted 2024–25
Monaco MC 27 Yes (outside EU/EEA)
Mongolia MN 20 No
Montenegro ME 22 Admitted 2024–25
Netherlands NL 18 Yes
Nicaragua NI 28 No
North Macedonia MK 19 Admitted 2024–25
Norway NO 15 Yes
Oman OM 23 No
Pakistan PK 24 No
Palestine PS 29 No
Poland PL 28 Yes
Portugal PT 25 Yes
Qatar QA 29 No
Romania RO 24 Yes
Russia RU 33 No
Saint Lucia LC 32 No
San Marino SM 27 Yes (outside EU/EEA)
Sao Tome and Principe ST 25 No
Saudi Arabia SA 24 No
Serbia RS 22 Admitted 2024–25
Seychelles SC 31 No
Slovakia SK 24 Yes
Slovenia SI 19 Yes
Somalia SO 23 No
Spain ES 24 Yes
Sudan SD 18 No
Sweden SE 24 Yes
Switzerland CH 21 Yes (outside EU/EEA)
Timor-Leste TL 23 No
Tunisia TN 24 No
Türkiye TR 26 No
Ukraine UA 29 No
United Arab Emirates AE 23 No
United Kingdom GB 22 Yes (outside EU/EEA)
Vatican City VA 22 Yes (outside EU/EEA)
Yemen YE 30 No

The registry itself flags SEPA countries too. For Albania, Montenegro, North Macedonia, Moldova and Serbia it still says "No", while the EPC's list (v8.0) includes them, with earliest start dates of October 5, 2025 (the first four) and May 2026 (Serbia). Banks there join one by one, so ask before you count on a SEPA transfer.

Countries with no IBAN

The United States, Canada, Australia, New Zealand, China, India, Japan, Mexico and Singapore are not in the registry. A payee there gives an account number, the bank's SWIFT/BIC and any local code their bank asks for. US banks say so plainly: Chase states "We don't use an IBAN" (Chase). Do not build an IBAN from a US account number: no US bank issues one, and this checker rejects it at the first two letters.

Use the BIC checker for the bank's code, or check a whole list.

Did a bank change its code or branch details? Report a changed code