A complete guide to International Bank Account Numbers — their structure, check digit algorithm, SEPA zone coverage, and how to find the BIC/SWIFT code from an IBAN.
An International Bank Account Number (IBAN) is a standardised way to identify bank accounts across borders. It was developed to simplify international wire transfers and is defined in the ISO 13616 standard. Today, over 80 countries use IBAN for international payments.
An IBAN consists of:
DE, GB, FR)
For example, the German IBAN DE89 3704 0044 0532 0130 00 breaks down as:
DE (country) + 89 (check digits) + 370400440532013000 (BBAN containing bank code + account number).
IBAN validation uses the ISO 7064 Modulo-97-10 algorithm:
In addition to the checksum, validators also confirm that the IBAN length and format match the country-specific pattern (e.g. German IBANs are always 22 characters; UK IBANs are always 22 characters).
The Single Euro Payments Area (SEPA) is a payment integration initiative of the European Union. Within the SEPA zone, euro-denominated bank transfers (credit transfers and direct debits) are processed with the same ease as domestic transfers, using IBAN as the account identifier.
The SEPA zone includes all 27 EU member states plus Iceland, Liechtenstein, Norway, Switzerland, Andorra, Monaco, San Marino, Vatican City, and the United Kingdom (post-Brexit, still part of SEPA).
A BIC (Bank Identifier Code), also known as a SWIFT code, is an 8 or 11 character code that uniquely
identifies a financial institution. It is used alongside IBAN in international wire transfers.
The structure is: BANK (4 chars) + CC (country, 2 chars) + LL
(location, 2 chars) + optional BBB (branch, 3 chars).
Versys automatically resolves the BIC from the bank code embedded in the IBAN for over 30,000 banks across 103 countries, using the schwifty library.
| Country | Code | Length | Example |
|---|---|---|---|
| Germany | DE | 22 | DE89370400440532013000 |
| United Kingdom | GB | 22 | GB82WEST12345698765432 |
| France | FR | 27 | FR7630006000011234567890189 |
| Netherlands | NL | 18 | NL91ABNA0417164300 |
| Spain | ES | 24 | ES9121000418450200051332 |
| Italy | IT | 27 | IT60X0542811101000000123456 |
| Switzerland | CH | 21 | CH9300762011623852957 |
| Poland | PL | 28 | PL61109010140000071219812874 |
Free IBAN checker with check-digit validation and BIC / SWIFT lookup.
Open Versys IBAN CheckerThe BIC / SWIFT Directory lists major bank BICs across Europe, each linking to a full bank identification report. BIC codes are resolved automatically whenever you validate an IBAN on Versys.