Free tool · 89 countries

IBAN checker

Check an IBAN before you send money or set up a direct debit: country code, length, structure and check digits, checked in your browser. For IBANs from Germany, Austria, Switzerland, Liechtenstein, Belgium and the Czech Republic the checker also shows the bank from the national bank code directory: its name and, where the directory lists them, its BIC and town.

With or without spaces. Country, length, structure and check digits are checked in your browser.

Privacy: the format and check digit check runs in your browser and sends nothing. Only for a valid IBAN from Germany, Austria, Switzerland, Liechtenstein, Belgium or the Czech Republic does the tool send the IBAN to our API, in the body of the request, to look up the bank. It is used for this lookup and not stored.

IBAN formats derived from the SWIFT IBAN Registry (ISO 13616), Release 103, September 2026.

The bank data comes from these directories:

What the IBAN checker checks

  1. Characters: once the spaces are removed, an IBAN holds only the letters A to Z and the digits 0 to 9.
  2. Country code: the first two letters must be one of the 89 countries of the SWIFT IBAN Registry.
  3. Length: each country has a fixed IBAN length, from 15 characters in Norway to 33 in Russia. UK and German IBANs have 22, French IBANs 27.
  4. Structure: which positions hold digits and which hold letters, for example the four letters of the bank in a UK IBAN.
  5. Check digits: the two digits after the country code are an ISO 7064 MOD 97-10 checksum over the whole IBAN. They catch every single wrong digit and every swap of two neighbouring digits.
  6. Bank and national check digits: for IBANs from Germany, Austria, Switzerland, Liechtenstein, Belgium and the Czech Republic the checker looks up the bank in the national bank code directory: its name and, where the directory lists them, its BIC and town. For German, Belgian and Czech IBANs it also checks the check digit inside the account number; for Germany that is the method the Deutsche Bundesbank assigns to the bank code.

Steps 1 to 5 run in your browser. Only step 6 sends the IBAN to our server.

What a valid IBAN does not tell you

A valid IBAN is well formed and has correct check digits. It does not prove that the account exists, that it is open, or who holds it. Before the first payment to a new payee, confirm the account details with the payee, or use the payee check your bank offers.

How an IBAN is built

Take the German example DE89 3704 0044 0532 0130 00:

PartIn the exampleMeaning
Country codeDEGermany
Check digits89MOD 97-10 checksum over the whole IBAN
Bank code37040044Bankleitzahl (BLZ) of the bank
Account number0532013000the account number, padded to 10 digits

A UK IBAN such as GB29 NWBK 6016 1331 9268 19 holds a four-letter bank code (NWBK), the six-digit sort code (601613) and the eight-digit account number (31926819). Everything after the check digits is the BBAN, the domestic account number; the IBAN Registry defines its structure for each country.

Where the bank data comes from

The bank name, BIC and town come from the directories that the central banks and, for Switzerland and Liechtenstein, SIX Interbank Clearing publish. The Belgian and Czech directories list no town. The directories are checked daily for new editions. Every result names its source, as the directories’ terms require; the full list is below the checker.

For IBANs from other countries the checker shows the parts of the IBAN but no bank.

Check IBANs by API

curl -G https://api.vatcheckapi.com/v2/iban \
    -d iban=DE89370400440532013000 \
    -H "apikey: YOUR-API-KEY"

The response contains valid, reason (the first check that failed), checks including national_checksum, the parts of the IBAN and bank. POST /v2/iban/batch validates up to 100 IBANs per request and keeps them out of the URL. See the IBAN validation API and the documentation.

Frequently asked questions

How do I check an IBAN?

Type or paste the IBAN, with or without spaces, and click Check IBAN. The checker tests the characters, the country code, the length, the structure and the check digits. For IBANs from Germany, Austria, Switzerland, Liechtenstein, Belgium and the Czech Republic it also shows the bank.

Does a valid IBAN mean the account exists?

No. A valid IBAN is well formed and has correct check digits. It does not prove that the account exists, is open, or who holds it. The checker does not contact any bank.

Is my IBAN sent anywhere or stored?

The format and check digit check runs in your browser and sends nothing. Only for the bank lookup (German, Austrian, Swiss, Liechtenstein, Belgian and Czech IBANs) does the IBAN go to our API, in the body of the request. It is used for that lookup and not stored.

Which countries does the IBAN checker support?

All 89 countries of the SWIFT IBAN Registry, Release 103 (September 2026). The bank name and BIC are shown for Germany, Austria, Switzerland, Liechtenstein, Belgium and the Czech Republic.

Does the checker verify UK sort codes and account numbers?

No. For a UK IBAN it checks the length, the structure and the check digits, and shows the bank code, sort code and account number. It does not apply the UK modulus check to the account number and has no UK bank data.

Can I calculate an IBAN from an account number?

No. The checker validates complete IBANs. It does not calculate an IBAN from a domestic account number and bank code.

Can I check IBANs automatically?

Yes. The vatcheckapi IBAN API returns the same result as JSON, one IBAN per request or up to 100 per batch request, and also checks national check digits for 23 countries. Each IBAN counts as one request; the free plan includes 150 requests a month.

IBAN validation API

Validate IBANs in your app

The API runs the same checks plus the national check digits for 23 countries, returns the bank for DE, AT, CH, LI, BE and CZ, and takes up to 100 IBANs per batch request.

/v2/iban documentation IBAN validation API All documentation

150 free requests every month, one per IBAN. No credit card required.

GET https://api.vatcheckapi.com/v2/iban?iban=DE89370400440532013000

{
  "iban": "DE89370400440532013000",
  "iban_print_format": "DE89 3704 0044 0532 0130 00",
  "valid": true,
  "reason": null,
  "checks": {
    "length": true,
    "structure": true,
    "checksum": true,
    "national_checksum": true
  },
  "country_code": "DE",
  "sepa": true,
  "bban": "370400440532013000",
  "bank_code": "37040044",
  "branch_code": null,
  "account_number": "0532013000",
  "bank": {
    "name": "Commerzbank",
    "bic": "COBADEFFXXX",
    "city": "Köln",
    "source": "Quelle: Deutsche Bundesbank"
  },
  "notice": "A valid IBAN is well formed and has correct check digits. It does not prove that the account exists, is open, or who holds it."
}

Free VAT and EORI tools

Start using our VAT Validation API for free today!

Get 150 validations / month for free