IBAN Validator & Parser
Validate International Bank Account Numbers (IBAN) and parse bank, country, and routing identifiers. 100% client-side checksum verification.
All validation runs locally in your browser. IBAN numbers are never sent to any server.
What Is an IBAN?
An IBAN (International Bank Account Number) is an internationally standardized system for identifying bank accounts across national borders, defined by ISO 13616. Developed in 1997 by the European Committee for Banking Standards (ECBS) and later adopted as an ISO standard, the IBAN was created to reduce errors in cross-border payments and speed up processing times. Before IBAN, international transfers relied on national account numbering schemes that differed drastically from country to country — making it impossible to automatically validate whether an account number was correctly formatted or belonged to a specific country.
Today, over 70 countries use IBAN, including all European Union nations, much of the Middle East, and parts of Africa and the Caribbean. An IBAN can be up to 34 characters long and always starts with a two-letter country code followed by two check digits, with the remaining characters forming the Basic Bank Account Number (BBAN). Our free IBAN validator checks format compliance against each country's specific rules, verifies the MOD97 checksum to catch transposition errors, and breaks down the result into country, bank code, and account number — all processed locally in your browser with no data sent anywhere.
IBAN Structure
| Component | Position | Description |
|---|---|---|
| CC | 1–2 | Country code (ISO 3166-1 alpha-2). Examples: GB (United Kingdom), DE (Germany), FR (France), ES (Spain), IT (Italy). |
| KK | 3–4 | Check digits calculated using the MOD97-10 algorithm. These catch 99.9% of single-digit typos and transposition errors. |
| BBAN | 5+ | Basic Bank Account Number — contains country-specific bank identifier, branch/sort code, and account number. |
For example, a UK IBAN like GB29 NWBK 6016 1331 9268 19 breaks down as: GB (United Kingdom), 29 (check digits), NWBK (NatWest bank code), 601613 (sort code), 31926819 (account number). A German IBAN like DE89 3704 0044 0532 0130 00 breaks down as: DE (Germany), 89 (check digits), 37040044 (bank sort code / BLZ for Commerzbank), 0532013000 (account number). Different countries arrange their BBAN fields differently, which is why our parser uses country-specific offset maps to correctly extract each component.
IBAN Length and Format by Country
| Country | Code | Length | Example |
|---|---|---|---|
| United Kingdom | GB | 22 | GB29 NWBK 6016 1331 9268 19 |
| Germany | DE | 22 | DE89 3704 0044 0532 0130 00 |
| France | FR | 27 | FR14 2004 1010 0505 0001 3M02 606 |
| Spain | ES | 24 | ES91 2100 0418 4502 0005 1332 |
| Italy | IT | 27 | IT60 X054 2811 1010 0000 0123 456 |
| Netherlands | NL | 18 | NL91 ABNA 0417 1643 00 |
How MOD97 Checksum Validation Works
The MOD97 algorithm is the mathematical backbone of IBAN validation, chosen because 97 is a prime number that provides excellent error detection. To verify an IBAN: (1) move the first four characters (country code + check digits) to the end of the string, (2) convert all letters to numbers where A=10, B=11, through Z=35, (3) interpret the resulting string as a single large integer, and (4) compute the remainder when divided by 97. If the remainder equals 1, the IBAN is mathematically valid.
This simple but powerful algorithm catches virtually all common human errors: single-digit typos, transposition of adjacent digits (e.g., typing 1234 as 1324), doubling or omitting digits, and even most phonetic errors. The MOD97 check is a critical defense against misdirected payments — an IBAN that fails the checksum is guaranteed to contain a typo, preventing potentially costly wire transfer errors before they occur. Our validator performs this check in real-time using JavaScript's BigInt arithmetic, ensuring precise computation even for the longest IBANs.
Why IBAN Validation Matters
Incorrect IBAN entries are a leading cause of delayed and rejected international payments. Under SEPA (Single Euro Payments Area) regulations, banks are required to validate IBAN formats before accepting payment instructions. If you provide an invalid IBAN, your bank may reject the transfer outright or, worse, the funds may be sent and then returned days or weeks later — often with processing fees deducted by intermediary banks. For businesses paying international suppliers, contractors, or employees, incorrect banking details can disrupt cash flow, damage relationships, and incur administrative costs. Freelancers and remote workers receiving cross-border payments should carefully validate IBANs provided by clients to avoid payment delays. Our free online tool makes this verification instant, private, and accessible without any registration.