IBAN Validator: Check Any International Bank Account Number
Validators
Validate IBAN country codes, lengths, BBAN formats and MOD-97 checks, or calculate check digits from a BBAN. Works locally for 86 countries.
Spaces are ignored. Lowercase is accepted. Your input stays in this browser.
Spaces are ignored. Enter only the domestic BBAN; this tool does not look up a bank or account.
How to use this tool
- Choose a task. Open Validate to check an IBAN, or Generate to calculate check digits from a country and domestic BBAN.
- Review the result. Check the country, expected length, character format, and MOD-97 result. For mapped countries, review the labeled BBAN fields.
- Copy or verify details. Copy an electronic IBAN without spaces or a print version grouped in fours. Confirm generated or validated banking details with the bank before paying.
IBAN and BBAN structure
An International Bank Account Number (IBAN) begins with a two-letter country code and two
check digits. The rest is the Basic Bank Account Number (BBAN), a country-specific identifier
for a domestic account. For example, in GB29 NWBK 6016 1331 9268 19, GB is the country, 29 is the IBAN check digit pair, and the remaining characters are
the BBAN.
The validator removes spaces and accepts lowercase input. It checks the country code against its built-in length list, then checks the expected length, allowed characters, and MOD-97 checksum. For Germany, the United Kingdom, France, the Netherlands, Belgium, Spain, Italy, Switzerland, and Poland, the result also labels the BBAN fields represented in the local layout map. Other countries remain visible as a complete BBAN so the tool does not invent bank, branch, or account boundaries it has not mapped.
Country IBAN lengths and SEPA scope
The table contains all 86 country codes in this tool's local length registry. Search by a country name or code to find the required total IBAN length. The SEPA column describes whether a country or territory is within the European Payments Council's published scheme geographical scope; it does not confirm that a particular bank or account participates in a scheme. Length and SEPA data are static browser-side references and may lag later registry changes.
Showing 86 of 86 IBAN country codes.
| Country | Code | IBAN length | SEPA scope |
|---|---|---|---|
| Albania | AL | 28 | Yes |
| Andorra | AD | 24 | Yes |
| 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 |
| Costa Rica | CR | 22 | No |
| Croatia | HR | 21 | Yes |
| Cyprus | CY | 28 | Yes |
| Czech Republic | CZ | 24 | Yes |
| Denmark | DK | 18 | Yes |
| Djibouti | DJ | 27 | No |
| Dominican Republic | DO | 28 | No |
| East Timor | TL | 23 | 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 | No |
| Greece | GR | 27 | Yes |
| Greenland | GL | 18 | No |
| Guatemala | GT | 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 | Yes |
| Monaco | MC | 27 | Yes |
| Mongolia | MN | 20 | No |
| Montenegro | ME | 22 | Yes |
| Netherlands | NL | 18 | Yes |
| Nicaragua | NI | 28 | No |
| North Macedonia | MK | 19 | Yes |
| 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 |
| São Tomé and Príncipe | ST | 25 | No |
| Saudi Arabia | SA | 24 | No |
| Serbia | RS | 22 | Yes |
| 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 |
| Tunisia | TN | 24 | No |
| Turkey | TR | 26 | No |
| Ukraine | UA | 29 | No |
| United Arab Emirates | AE | 23 | No |
| United Kingdom | GB | 22 | Yes |
| Vatican City | VA | 22 | Yes |
The country formats are registered under ISO 13616 and published by Swift's IBAN Registry. See the European Payments Council's SEPA country list for the current geographical scope and scheme details.
IBAN vs. SWIFT/BIC
An IBAN identifies an account within a country's numbering format. A SWIFT/BIC identifies a financial institution and may include a branch suffix. A payment may request one or both, but the fields are not interchangeable. Use the SWIFT/BIC Code Validator to check a BIC's format; it also does not identify the account holder or prove that a bank accepts a payment.
How IBAN check digits work
To validate an IBAN, the first four characters move to the end, letters convert to numbers (A=10 through Z=35), and the resulting digit string is evaluated modulo 97. A remainder of 1 passes the checksum. The advanced result shows that remainder so users can see why a changed digit can make an otherwise correctly sized IBAN fail.
The Generate tab applies the same rule in reverse. It places 00 after the BBAN and
country code, calculates the remainder, then sets the check digits to 98 − remainder
using two digits. For example, the supplied German BBAN 370400440532013000 produces
check digits 89. The tool calculates locally and does not query a bank, account
directory, or payment API. A calculated checksum is a format check, not proof of account
existence or ownership. For the nine countries with mapped BBAN layouts, it also checks field
character types; for other country codes, generation checks BBAN length and alphanumeric
characters only.
Privacy and practical limits
IBAN and BBAN values are processed in this browser and are not sent to a validation service. The tool does not perform bank-name or BIC lookup, domestic account checksum verification, account ownership checks, or payment authorization. When preparing a transfer, use details supplied by the intended recipient and confirm them through a trusted channel.
Frequently asked questions
Does a valid IBAN mean the bank account exists?
No. The checks cover the country format, length, supported BBAN character pattern, and MOD-97 checksum. They cannot confirm that an account exists or can receive a payment.
Can this tool verify who owns an IBAN?
No. The tool does not contact a bank, identify an account holder, or check payment-provider records. Confirm banking details directly with the account holder and their bank.
Can I calculate check digits from a BBAN?
Yes. Choose the country, enter the domestic BBAN, and the tool calculates the two MOD-97 check digits in your browser. Supported layouts also check field character types; for other countries only length and alphanumeric characters are checked. The result does not prove that the BBAN belongs to an account.
Does the SEPA column mean a bank accepts SEPA payments?
No. The column indicates whether a country or territory is within the published SEPA scheme geographical scope. It does not check whether a particular provider or account participates in a payment scheme.
Are my IBAN and BBAN sent to a server?
No. Validation and check-digit calculation run in the browser. The tool does not send entered account details to a bank directory or validation API.
Related bank identifier tools
- SWIFT Code ValidatorValidate a SWIFT/BIC format when a payment form requests the bank identifier too.
- Credit Card ValidatorCheck a different account identifier and its checksum directly in your browser.
- ISBN ValidatorValidate a book identifier with its own check digit after checking an IBAN.
- MAC Address ValidatorCheck a network address format when working with another structured identifier.
- UUID ValidatorCheck a UUID format and version after validating a different identifier.
- VIN DecoderInspect a vehicle identification number with another format validation tool.