An IBAN checker confirms that an International Bank Account Number is built correctly. It checks the country code, the total length for that country, the two check digits, and the national bank and account structure. A valid IBAN means the number is well formed, not that the account behind it is open.
Paste an IBAN above and the checker returns:
All of that comes from the IBAN itself, so the check runs in your browser and the number is never sent anywhere. The checker does not name the account holder and does not confirm the account is open. No IBAN validator can do either of those from the number alone.
Every check runs the same three steps in order, and each one rejects numbers the step before it accepted:
The mod 97 step is what catches typos. Change one character and the remainder almost never stays 1, so a single mistyped digit is caught before the payment leaves your account.
A valid IBAN and a usable account are two different things. A number can be perfectly formed and still fail once the payment reaches the bank.
It cannot return the account holder's name. Name matching, such as Confirmation of Payee, runs inside the banking network and is not available from the number.
It cannot tell you whether the account is open, frozen, or closed, and it cannot see a balance. Only the receiving bank knows that.
It also cannot supply the bank's name or BIC. Those come from a bank registry rather than from the number itself, so any tool that shows them is reading a separate data source.
Payment and checkout forms: check the IBAN while the user is still on the page. A typo caught at entry costs nothing. The same typo caught by the bank costs a returned transfer fee and a support ticket.
Payroll and supplier onboarding: validate every IBAN before the first payment run so one bad number does not hold up a whole batch.
Invoicing and reconciliation: reject malformed bank details at upload instead of discovering them halfway through a payment file.
Data cleaning: run stored IBANs through the same check and flag the rows that fail. Records collected before any validation existed are where most bad numbers sit.
From the command line: the same check runs with one request. Replace YOUR_API_KEY with a free key.
Building it into a product? Abstract's IBAN Validation API returns is_valid for every IBAN you send, and the docs cover the request format, the error codes, and the free tier.
ā
ā
An IBAN, or International Bank Account Number, is a standard way to identify a bank account across borders. It starts with a two-letter country code, then two check digits, then the national bank and account details. The format is defined by ISO 13616 and is used across Europe and in many countries beyond it.
An IBAN checker validates the structure of an IBAN: the country code, the length that country uses, the two check digits, and the bank and account parts inside it. It answers one question, whether the number is well formed, and it answers it before you send money.
Paste it into the checker above. An IBAN is valid when its length matches the issuing country and the mod 97 checksum leaves a remainder of 1. Both tests have to pass. You can run them by hand, but a single number takes minutes to work through, which is why the check is automated.
Yes, and this is the most common misunderstanding. The checksum only proves the number is internally consistent. A number can pass every structural test and still point to an account that was closed, was never opened, or belongs to someone else. Only the receiving bank can confirm that.
It depends on the country, so there is no single answer. Each country publishes one fixed length: Norway uses 15 characters, Germany 22, the United Kingdom 22, and Malta 33. The standard allows a maximum of 34. A number outside its country's length is invalid, whatever else looks right.
Yes. The checker is free, needs no account, and puts no limit on how many numbers you check. For programmatic use, Abstract's IBAN Validation API has a free tier and does not ask for a card to start.
An IBAN identifies one account. A BIC, also called a SWIFT code, identifies the bank. International transfers often ask for both: the BIC routes the payment to the institution, and the IBAN routes it to the account inside that institution.
No. The structure and checksum tests run in your browser, so the number you type is never sent to a server and is never logged. Nothing is kept once you close the page.
Yes. Send each IBAN to Abstract's IBAN Validation API as a request and read the is_valid field in the response. It is the same structural check this page runs, in a form you can call from a signup form, a payroll job, or a nightly data clean.