IBAN Validator
Validate an IBAN's format and mod-97 checksum.
Result
—
About this tool
Validate an International Bank Account Number (IBAN) using the standard mod-97 checksum defined in ISO 13616 — the same check banks and payment forms use to catch typos before a transfer is even submitted. It checks the country code, the length for that country, and the checksum; it does not confirm the account actually exists, is open, or belongs to anyone. Everything runs locally in your browser.
What an IBAN is. A standardised way to write a bank account so it can be validated and routed internationally: up to 34 characters made of a 2-letter country code, 2 check digits, then a country-specific "BBAN" (bank code, branch code, account number). The length is fixed per country — a German IBAN is always 22 characters, a Norwegian one always 15 — which is the first thing this tool checks.
The mod-97 checksum. Move the first four characters (country code + check digits) to the end of the string, convert every letter to a number (A=10, B=11, … Z=35), and treat the result as one large number. A valid IBAN leaves a remainder of exactly 1 when that number is divided by 97 (ISO 7064 MOD 97-10). Because 97 is prime and the rearrangement mixes the country code into the check, this catches essentially every single-character typo and adjacent-digit transposition.
Worked example. The commonly published test IBAN GB82 WEST 1234 5698 7654 32: move GB82 to the end to get WEST12345698765432GB82, convert the letters (W=32, E=14, S=28, T=29, G=16, B=11) to get the numeric string 3214282912345698765432161182, and dividing that by 97 leaves a remainder of 1 — so it passes. Change any single digit and it fails.
Country lengths this tool checks:
| Country | Length | Country | Length |
|---|---|---|---|
| Germany (DE) | 22 | France (FR) | 27 |
| United Kingdom (GB) | 22 | Spain (ES) | 24 |
| Netherlands (NL) | 18 | Italy (IT) | 27 |
| Belgium (BE) | 16 | Switzerland (CH) | 21 |
The tool covers every IBAN-using country (70+), not just these — a wrong-length result names the country and the length it expects.
What "valid" doesn't mean. A pass confirms the IBAN is internally consistent and correctly formatted for its country — nothing more. It doesn't confirm the bank branch code is real, that the account is open, or that the name on it matches anyone in particular. Banks themselves run this exact same structural check first, then separately confirm the account against their own records (sometimes with a "Confirmation of Payee" style name-match) before actually moving money.
Common reasons a real IBAN fails here: a mistyped or transposed digit, missing or duplicated characters, copy-pasting extra whitespace or hidden characters, or an IBAN that's simply the wrong length for the stated country (sometimes from confusing it with a domestic account number). Re-copy the IBAN carefully from its original source and try again.
To generate disposable, checksum-valid test IBANs for development or QA, use the IBAN generator. For card numbers, the credit card validator and test card number generator run the equivalent Luhn check.
Frequently asked questions
- How does the mod-97 checksum work?
- The first four characters (country code + check digits) are moved to the end, letters are converted to numbers (A=10, B=11, …), and the resulting large number must leave a remainder of exactly 1 when divided by 97.
- Does a valid result mean the account is real?
- No — it only confirms the IBAN is internally consistent and correctly formatted. Confirming an account actually exists and is open requires checking with the bank or payment processor directly.
- Is my IBAN sent anywhere?
- No — validation happens entirely in your browser using plain arithmetic; nothing is transmitted or stored.
- Why does it say "wrong length" for an IBAN I know is real?
- Each country has one fixed IBAN length — the message shows what that country's length should be versus what you entered. Double-check for a missing or duplicated character, or that you didn't include a BIC/SWIFT code by mistake.
- Why does it say "unrecognized country code"?
- The first two letters don't match any country that issues IBANs. Some countries (including the US, Canada, and Australia) don't use the IBAN system at all, so their account numbers have no IBAN to validate.
- Can I paste an IBAN with spaces?
- Yes — spaces are stripped automatically before checking, matching how IBANs are normally printed on statements and cards (in groups of four characters).
- What's the difference between this and the IBAN generator?
- This checks a real IBAN's format and checksum. The IBAN generator does the reverse — it fabricates fake but checksum-valid IBANs for testing software, not for real transfers.