How do I check an IBAN?
Paste the IBAN – with or without spaces – and the result appears immediately: characters, structure, country length and the ISO 7064 check digit are all computed right in your browser. If something is wrong, the tool names the reason. For a valid German IBAN it additionally shows the bank code and the account number.
The field also understands the way IBANs appear on invoices: groups of four, dashes and a leading “IBAN:” are stripped before checking.
What is the structure of an IBAN?
The layout is standardised in ISO 13616: two letters of country code, two check digits, then the national account identifier – at most 34 characters in total. How long an IBAN is exactly is fixed per country and recorded in the IBAN Registry, which SWIFT maintains as the ISO registration authority. Germany uses 22 characters, Austria 20, Switzerland 21 – the shortest IBAN of all belongs to Norway, at 15.
Taking DE89 3704 0044 0532 0130 00 as an example:
| Part | Characters | Meaning |
|---|---|---|
| Country | DE | country code as in ISO 3166 |
| Check digits | 89 | arithmetic control over the whole IBAN |
| Bank code | 3704 0044 | eight digits identifying the institution |
| Account number | 0532 0130 00 | ten digits, shorter numbers padded with leading zeros |
The IBAN has been mandatory for euro payments since the SEPA Regulation (EU) No 260/2012 – credit transfers and direct debits in euro run on the IBAN instead of national account numbers.
How does the check digit work?
Per ISO/IEC 7064 (system MOD 97-10), in three steps: the first four characters move to the end, every letter becomes a number (A = 10 up to Z = 35), and the resulting string of digits must leave a remainder of 1 when divided by 97. The scheme detects every single wrong character and every swap of two neighbouring digits – the most common typing mistakes there are.
One detail decides whether that calculation is even correct: with 34 characters, the digit string grows to as many as 68 digits. Computed as an ordinary number, the remainder would be silently wrong from about 16 digits on, because floating point loses precision there. This tool therefore computes the remainder digit by digit.
Does “valid” mean the account exists?
No, and that is the most important limit of this tool. The check digit is arithmetic over the character string – it catches typing mistakes, but knows nothing about the world behind them. Whether the account was ever opened, still exists and who owns it, only the account-holding bank can answer. An invented IBAN with a matching check digit passes every format check.
That is exactly what invoice fraud builds on: an invoice announcing supposedly new bank details almost always carries a formally flawless IBAN. When bank details change unexpectedly, no check digit helps – a call to the biller under the number you already know does.
What extra detail is shown for German IBANs?
German IBANs have a fixed, decomposable layout: DE and the two check digits are followed by eight digits of bank code (Bankleitzahl) and ten digits of account number. The result shows both parts separately, ready to copy – the account number also without the padding zeros, the way it appears on cards and statements.
What happens to the IBAN I enter?
It stays in your browser. The calculation runs locally; there is no server that could see the number. This tool also deliberately skips two conveniences other tools on this site offer: the input never goes into the address bar – where the bank details would end up in history, bookmarks and every shared link – and it is never stored on your device. After a reload the field is empty. To verify it yourself: load the page, disconnect from the internet, enter an IBAN – the check works unchanged.
Honest limits
- Account existence: out of scope, see above. No format check can provide it.
- National check schemes: many countries validate additionally inside the account number – in Germany, Deutsche Bundesbank publishes separate per-bank check digit methods for that. This tool does not.
- BIC: is not derived. Within the SEPA area, the IBAN alone is sufficient for transfers.
- Length table: covers the SEPA area and the countries common in European payments. If a country is missing, the result says so openly and verifies characters, structure and check digit alone.