IBAN Validator
Validate an International Bank Account Number (IBAN) with the ISO 13616 mod-97 checksum and per-country length check. Runs entirely in your browser.
BBAN rule pack: SWIFT IBAN Registry, Release 101 · checked 2026-07.
Batch check (one IBAN per line)
Validate an IBAN
Paste an International Bank Account Number to check its country, registered length, mod-97 checksum, and country-specific BBAN structure. Covered countries also show separate bank and account fields. Batch-check many at once or generate a valid example — all in your browser.
How the IBAN check digits work
The International Bank Account Number is defined by the ISO 13616 standard, and the list of participating countries with their exact formats is kept in the IBAN Registry published by SWIFT. Two check digits near the start of every IBAN let any bank, form or app detect a typo before money is sent.
Structure
| Part | Length | Content |
|---|---|---|
| Country code | 2 letters | The ISO 3166 country code, for example DE or FR. It decides which length and national format apply. |
| Check digits | 2 digits | Computed over the whole number with the mod-97 rule. Only values from 02 to 98 are possible. |
| BBAN | up to 30 characters | The national account number, with a fixed length and pattern for each country: bank code, branch code and account number, sometimes with a national check digit of its own. |
The total length is fixed per country, which is the first thing the tool checks:
| Code | Country | Length |
|---|---|---|
| DE | Germany | 22 |
| FR | France | 27 |
| GB | United Kingdom | 22 |
| ES | Spain | 24 |
| IT | Italy | 27 |
| NL | Netherlands | 18 |
| NO | Norway | 15 |
| MT | Malta | 31 |
Worked example: GB82 WEST 1234 5698 7654 32
The check uses the ISO 7064 mod 97-10 method in four steps.
| 1. Remove spaces | GB82WEST12345698765432 |
| 2. Move the first four characters to the end | WEST12345698765432GB82 |
| 3. Replace each letter with two digits (A = 10 … Z = 35) | W = 32, E = 14, S = 28, T = 29, G = 16, B = 11 |
| 4. Read the result as one number and divide by 97 | 3214282912345698765432161182 |
| Remainder | 1 |
A remainder of 1 means the IBAN passes. When a bank creates an IBAN it starts with 00 as check digits, runs the same calculation, and sets the check digits to 98 minus the remainder; that is why 00, 01 and 99 can never appear. The number in step 4 is too large for ordinary calculators, so software divides it piece by piece; the tool does this with exact big-integer arithmetic.
Official sources
- SWIFT IBAN Registry (PDF): the official list of IBAN countries, lengths and BBAN formats, published by SWIFT as registrar for ISO 13616
- ISO 13616-1: the international standard that defines the IBAN structure and check digits
- European Payments Council: rules for SEPA payments, where the IBAN is the mandatory account identifier
Common mistakes and what a valid IBAN does not prove
- Reading the letter O as the digit 0 or the letter I as 1 when copying from paper. Because some countries allow letters in the BBAN, the tool cannot always guess which was meant; a failed mod-97 check is the signal to re-read the source.
- Dropping leading zeros from the account part, which changes the length and fails the check.
- Pasting the letters IBAN, a BIC or a national account number into the field. The tool detects Indian IFSC-style and Mexican CLABE inputs and points to the right checker.
- A valid IBAN only means the digits are consistent and the format matches the country's registry entry. It does not prove the account exists, is open, or belongs to the person or company you intend to pay. For invoices and first-time payees, confirm the IBAN through a second channel; changing the IBAN on a genuine invoice is one of the most common payment frauds.
IBAN validation is defined by ISO 13616 with the mod-97-10 check from ISO/IEC 7064: move the first four characters (country code + 2 check digits) to the end, convert letters to numbers (A=10 … Z=35), and the whole number must leave remainder 1 when divided by 97.
Each country also fixes an exact length and internal pattern (Germany 22, France 27, Spain 24, UK 22…), published in the SWIFT IBAN Registry. This tool applies both layers — country pattern and mod-97 — locally in your browser, and pinpoints what failed.
A valid IBAN structure does not guarantee the account exists, is open, or belongs to the person you expect: banks verify that during the actual transfer (and in the EU, via Verification of Payee). Use this to catch typos before payments, not as proof of ownership. Last verified: July 2026.
FAQ
How does the mod-97 check work exactly?
Remove spaces, move the first four characters (country code and check digits) to the end, replace each letter with two digits (A = 10 … Z = 35), and divide the resulting number by 97. A valid IBAN leaves remainder 1. For GB82 WEST 1234 5698 7654 32 the rearranged string is WEST12345698765432GB82, which becomes 3214282912345698765432161182 and has remainder 1.
What layers does the tool check?
Four, in order: the country code must be in the IBAN registry, the length must match that country, the mod-97 checksum must pass, and where the national pattern is on file the BBAN characters must fit it (digits, letters or both at each position). The result names the layer that failed.
Why did my IBAN fail even though the digits look right?
The most common causes are a wrong length for the country, the letter O typed instead of zero (or I instead of 1), a missing leading zero in the account part, or two swapped characters. Re-read the number from the original document rather than from a retyped copy.
Why are the check digits never 00, 01 or 99?
Banks generate the check digits by running the same mod-97 calculation with 00 in their place and setting them to 98 minus the remainder. The only possible values therefore run from 02 to 98; an IBAN showing 00, 01 or 99 was mistyped or invented.
Does a valid IBAN mean the account is real?
No. Structure is not existence. A valid IBAN only proves the characters are consistent with the country’s registry entry. Banks confirm the account during processing, and EU payment providers additionally match the beneficiary name (Verification of Payee). For invoices and first-time payees, confirm the IBAN through a second channel; a changed IBAN on a genuine-looking invoice is one of the most common payment frauds.
Is an IBAN the same as a SWIFT or BIC code?
No. The IBAN identifies one account; the BIC (also called SWIFT code) identifies the bank. International transfers usually need both, and pasting a BIC into an IBAN field fails the length and checksum tests.
What about Indian or Mexican account numbers?
India does not use IBAN. Mexico uses an 18-digit CLABE instead. The tool detects common inputs from either system and directs you to the appropriate checker.
Are my IBANs uploaded for validation?
Never. The arithmetic runs entirely on your device, which is why finance teams can safely batch-check supplier lists here: paste one IBAN per line and export the results as CSV.
Last updated: