IBAN Validator
MOD-97 checksum validation, country identification, and bank/account decomposition.
Example: The IBAN "GB29 NWBK 6016 1331 9268 19" passes the MOD-97 checksum, identifies as a UK account, and decomposes into sort code 601613 and account number 31926819 — while changing a single digit anywhere in the number fails the checksum 100% of the time.
Validates using the ISO 13616 IBAN standard and MOD-97 checksum algorithm defined in ISO 7064.
How IBAN validation works
Every IBAN is self-checking by design. The validator rearranges the country code and check digits to the end of the string, converts any letters to numbers (A=10 through Z=35), and confirms the resulting large number leaves a remainder of exactly 1 when divided by 97 — the MOD-97 checksum defined in ISO 7064. This single check catches the overwhelming majority of typos, transpositions, and copy-paste errors without needing to contact any bank.
A valid checksum confirms the IBAN is correctly formatted and internally consistent — it does not confirm the account is open, active, or belongs to a particular person. That distinction matters for payment processing: a passed checksum means it's safe to attempt a transfer, not that the transfer is guaranteed to succeed.
Frequently asked questions
- What is the MOD-97 checksum?
- The ISO 7064 checksum algorithm every IBAN uses: rearrange the country code and check digits to the end, convert letters to numbers (A=10 ... Z=35), and the resulting number must leave a remainder of exactly 1 when divided by 97. It catches almost every single-character typo or transposition.
- Why are bank code and account number sometimes null?
- Their position within the IBAN varies by country and isn't standardised the way the checksum is. Decomposition is only implemented for a documented subset of countries — the full BBAN (Basic Bank Account Number) is always returned either way, so no information is lost.
- Does a valid checksum guarantee the account exists?
- No — it confirms the IBAN is well-formed and internally consistent, not that it corresponds to a real, open bank account. Only the issuing bank can confirm that.
- What is an IBAN?
- An International Bank Account Number (IBAN) is a standardised account identifier used to make cross-border payments unambiguous — it combines a country code, check digits, and a country-specific Basic Bank Account Number (BBAN) into a single string that uniquely identifies an account internationally.
- Which countries use IBAN?
- IBAN is mandatory for payments within the EU/EEA (SEPA) and is used by most European countries plus many others worldwide — but notably not the US, Canada, Australia, or China, which use different domestic account numbering systems for their banking infrastructure.
- What is a SWIFT/BIC code and how does it relate to IBAN?
- A SWIFT/BIC code identifies a specific bank (and often branch), while an IBAN identifies a specific account at that bank. International wire transfers typically require both: the SWIFT/BIC to route the payment to the correct bank, and the IBAN to credit the correct account once it arrives.
- What is the difference between IBAN and account number?
- A domestic account number on its own is often ambiguous outside its home country — the same digits could theoretically exist at different banks in different countries. The IBAN wraps that account number (as part of the BBAN) together with a country code and checksum, making it globally unambiguous and self-validating.