An IBAN (International Bank Account Number) has a built-in checksum, defined by ISO 13616, that catches most typos before you send a wire. This validator runs that checksum entirely in your browser — nothing is sent to a server — and tells you exactly why an IBAN fails: unknown country code, wrong length for that country, invalid characters, or a checksum mismatch.
Paste an IBAN, with or without spaces.
The tool identifies the country from the first 2 characters, checks the total length against that country's fixed IBAN length, and runs the ISO 13616 checksum.
The result shows a clear valid/invalid verdict, the specific reason for any failure, and the IBAN reformatted into readable 4-character groups.
ISO 13616 checksum validation runs in three steps: (1) rearrange the IBAN by moving the first 4 characters (country code + 2 check digits) to the end of the string; (2) convert every letter to a number, A=10 through Z=35, leaving digits unchanged; (3) interpret the resulting numeral as one large integer and compute it modulo 97 — a valid IBAN always leaves a remainder of exactly 1.
Because the converted numeral can run to 30+ digits, standard JavaScript numbers lose precision, so the calculation uses BigInt arithmetic rather than Number.
Before running the checksum, the tool checks three structural things: the country code (first 2 characters) matches a known IBAN country in a static per-country length table (~75 countries from the public IBAN registry); the total length matches that country's fixed IBAN length exactly; and the string contains only letters and digits.
Any of the four checks — unknown country, wrong length, invalid characters, or a failing checksum — produces a distinct, specific failure reason rather than a generic "invalid" message.
Take an IBAN and move its first 4 characters to the end, convert each letter to A=10..Z=35, then divide the resulting number by 97 — a genuine IBAN always leaves remainder 1. Changing a single digit anywhere in the IBAN almost always changes that remainder, which is exactly the kind of typo this checker catches before a wire transfer is submitted.
An IBAN checksum follows ISO 13616: move the first 4 characters (country code + 2 check digits) to the end of the string, convert every letter to a number (A=10 through Z=35), then treat the whole result as one huge integer and divide by 97. A valid IBAN always has a remainder of exactly 1. This catches almost all single-character typos and transpositions without needing to contact a bank.
No. A passing checksum only confirms the IBAN is structurally well-formed — correct length for its country and a matching check-digit calculation. It does not confirm the account is open, active, or belongs to the person you think it does. Banks perform their own account-existence checks when you actually initiate a transfer.
Each country's central bank or banking association defines its own domestic account-number format (BBAN) before IBAN was standardized. The IBAN just wraps that existing format with a 2-letter country code and 2 check digits, so the total length varies — from 15 characters in Norway to 34 in some countries.
An IBAN identifies a specific bank account (like an extended account number). A SWIFT/BIC code identifies the bank itself for routing purposes. International wires often need both: the BIC to route the payment to the right bank, and the IBAN to credit the right account once it arrives.
Compare live rates across 370+ corridors on RemitRoutes · methodology.