Calcoid

IBAN Calculator

Validate an IBAN checksum and extract its country code, bank identifier, and account number. Supports 40+ ISO 13616 countries with the official mod-97 algorithm.

IBAN to validate

Spaces are ignored and letters are upper-cased automatically. Nothing is sent anywhere.

Enter an IBAN to validate its checksum and extract the country, bank, and account parts.

Frequently Asked Questions about the IBAN Calculator

What is an IBAN and what is it made of?
An IBAN (International Bank Account Number) is the ISO 13616 standard for identifying a bank account in cross-border payments. Every IBAN starts with a 2-letter country code (ISO 3166-1 alpha-2, like DE for Germany or GB for the United Kingdom), then 2 check digits, then a country-specific BBAN (Basic Bank Account Number) that encodes the bank and branch identifier plus the local account number. Total length is fixed per country: 22 characters for Germany and the UK, 27 for France and Italy, 31 for Malta. The IBAN does not replace the account number, it wraps it in a checksum-protected envelope.
How does the mod-97 check digit work?
The check digits are derived from ISO 7064 MOD 97-10. To verify any IBAN, move the first 4 characters (country code plus check digits) to the end, then replace every letter with two digits using A=10, B=11, up to Z=35. The resulting all-digit string is interpreted as a single integer, and the IBAN is valid if that integer mod 97 equals 1. To generate the check digits for a new IBAN, you set them to 00, run the same expansion, compute 98 minus (integer mod 97), and use the two-digit result. The mod-97 base is large enough to catch single-digit typos, most transpositions of adjacent digits, and many random multi-digit errors.
What kinds of typos do the check digits catch?
Mod-97 reliably catches every single-digit substitution and every transposition of two adjacent digits, which are by far the most common human errors when keying an account number. It also catches most random multi-character errors: only about 1 in 97 fully random strings of the right length and country code would happen to pass the checksum by accident. What it does not catch is malicious tampering by someone who recomputes the check digits, or an IBAN that is mathematically valid but belongs to a different bank or account than you intended. Always verify the recipient out-of-band before sending real money.
Why do IBANs have different lengths in different countries?
Every country sets the BBAN format itself, and the BBAN already encodes whatever fields the local banking system needs: a bank code, a branch code, an account number, sometimes a national check digit. Germany uses an 8-digit bank code plus a 10-digit account number for 22 characters total. France packs in a bank code, branch code, account number, and an additional national check digit for 27. Malta has one of the longest BBANs at 27 characters, giving a 31-character IBAN. The country code at the front is how a parser knows which length to expect, so the very first thing this calculator checks is whether your input matches the length that country mandates.
What is the difference between an IBAN and a SWIFT/BIC code?
An IBAN identifies an account; a SWIFT/BIC code identifies a bank. The BIC (Bank Identifier Code, formerly SWIFT code) is 8 or 11 characters and tells the international payment network which institution and branch to route a message to. The IBAN tells that institution which specific account to credit. For most SEPA payments inside the European Economic Area, the IBAN alone is enough because the BIC is derived from the bank code embedded in the IBAN itself. For payments outside SEPA, banks typically still want both values. Neither code by itself proves the account is real or active, only that the format and checksum are well-formed.

Related Calculators

More calculators in "Tech"

See all 98 calculators in "Tech"