IBAN Explained: How to Read, Check and Trust an IBAN
It's the longest number on the invoice, and two of its digits exist purely to catch your typos. Here's how to read the rest.

An IBAN (ISO 13616) packs three things into 15 to 34 characters: a two-letter country code, two check digits, and the BBAN โ the domestic bank code and account number, arranged each country's own way. The length is fixed per country (Germany 22, France 27, Norway 15). The check digits are verified with the mod-97 test: rearrange, convert letters to numbers (A=10 โฆ Z=35), divide by 97, and a valid IBAN leaves remainder 1 โ which catches a single mistyped digit or a transposition before money moves. What it can't do is prove the account exists or belongs to your intended payee; validation is a typo filter, not a trust stamp.
One string, three jobs
An IBAN โ International Bank Account Number โ looks like an account number that got out of hand. In fact it's three things welded into one string: a country code, a pair of check digits, and the account's domestic numbering, packed together so that a bank anywhere in the world can read it and can tell before sending anything whether it was copied correctly. The format is defined by the ISO 13616 standard, and it's used across Europe and in dozens of other countries.
Two properties surprise people. First, the length isn't fixed globally: an IBAN runs from 15 characters (Norway) up to a maximum of 34, but within one country every IBAN is exactly the same length โ every German IBAN has 22 characters, every French one 27. Second, the spaces are cosmetic: printed in groups of four on paper to make copying easier, removed in electronic form. Both forms are the same number.
Reading one, segment by segment
Take the standard textbook example, a German IBAN: DE89 3704 0044 0532 0130 00. It reads left to right in three parts. The first two letters are the country code โ DE for Germany. The next two digits, 89, are the check digits, and they're the clever part of the whole design. Everything after that is the BBAN, the domestic part, which each country arranges differently. Germany's BBAN is an 8-digit bank code (the Bankleitzahl) followed by a 10-digit account number.

| Segment of DE89 3704 0044 0532 0130 00 | What it is |
|---|---|
| DE | Country code (Germany) |
| 89 | Check digits, computed from everything else |
| 3704 0044 | Bank code (BLZ) |
| 0532 0130 00 | Account number, padded to 10 digits |
Other countries slice the BBAN their own way. A British IBAN such as GB29 NWBK 6016 1331 9268 19 hides a familiar pair inside it: the 6-digit sort code 60-16-13 and the 8-digit account number 31926819, behind a 4-letter bank identifier. France's 27 characters carry a bank code, a branch code, an 11-character account part โ which can contain letters โ and two national check digits. The shell is standard; the filling is local, which is why a structure breakdown helps: forms that ask for the bank code and account number separately are asking for pieces the IBAN already contains.
The mod-97 check, step by step
The two check digits aren't decoration or a serial number. They're computed from the rest of the IBAN with an algorithm called mod-97, and any bank or validator can rerun the same calculation to test an IBAN in milliseconds:
- Strip the spaces and check the length against the country's fixed length. A German IBAN with 21 or 23 characters is wrong before any maths happens.
- Move the first four characters โ country code and check digits โ to the end of the string.
- Convert every letter to a number: A becomes 10, B is 11, and so on up to Z at 35. Digits stay as they are.
- Divide the resulting long number by 97 and keep the remainder. (Software does this in chunks, since the number can run to 30-plus digits.) A valid IBAN always leaves a remainder of exactly 1.
Try it against the example above and you get 1. Now change the final digit from 0 to 1 and run it again: the remainder comes out at 28. Swap two neighbouring digits in the account part instead, and it fails too. That's the point of the design โ a single mistyped digit, or two digits transposed while copying, breaks the checksum essentially every time, so the error gets caught by the sender's bank, or by a validator like the one below, before money moves rather than after.
What a green tick doesn't prove
Here's the limit, and it matters more than the maths. A passing IBAN is internally consistent. Nothing more. Validation doesn't prove the account exists, that it's open, or that it belongs to the person you mean to pay. A well-formed IBAN pointing at the wrong person will pass every check on this page and still send your money to them โ and payments sent to a valid account are usually hard to pull back.
Invoice fraud exploits exactly this: the fake invoice carries the fraudster's own perfectly valid IBAN. So treat validation as a typo filter, not a trust stamp. For a new payee or changed bank details โ especially on a large payment โ confirm the details through a second channel you already trust: a phone call to a number you already have, not one printed on the invoice that just arrived. Send a small test payment first where the amount justifies it. The checksum catches your typos. Only you can catch someone else's intentions.
Small habits that prevent expensive typos
Most IBAN errors are boring: a dropped digit in the long account section, a 0 read as an O. Copy and paste instead of retyping whenever you can. If you must type it, work in the printed groups of four and count the characters at the end against the country's length โ the validator below tells you the expected length, which turns "looks about right" into a definite yes or no. And if a check fails, don't nudge digits until it passes; a number you've edited into validity is worse than one that fails loudly. Go back to the source document. One more boundary worth knowing: not every country uses IBANs at all โ the United States, for instance, routes payments with a 9-digit routing number plus a domestic account number.
The Verystep IBAN Validator runs the full standard check locally in your browser โ characters, the correct length for the country, and the mod-97 checksum โ and for major countries it splits out the bank code and account number, handy when a form asks for them separately. The number you paste is never sent or stored.
Last verified October 28, 2026 โ structure, country lengths and the mod-97 procedure follow ISO 13616 as implemented by the validator below; both worked examples (DE89 3704 0044 0532 0130 00 and GB29 NWBK 6016 1331 9268 19) were re-run through the mod-97 check and return remainder 1.
Frequently asked questions
How long is an IBAN?
Between 15 and 34 characters, and always the same length within a country: Norway is the shortest at 15, Germany has 22, France 27, Malta 31, and no IBAN exceeds the standard's 34-character maximum. A wrong length is the fastest possible fail โ it means a character is missing or extra.
Can an IBAN contain letters?
Yes. Beyond the two-letter country code, the domestic part can contain letters too: British IBANs open with a 4-letter bank identifier (GB29 NWBK โฆ), Dutch IBANs carry a 4-letter bank code, and French account parts may mix letters and digits. Only the check digits are always numbers.
My IBAN validates. Does that mean the payment is safe?
No. Validation proves the number is well-formed and internally consistent โ nothing about whether the account exists, is open, or belongs to the person you mean to pay. Confirm new or changed payment details through a second, already-trusted channel, especially for large amounts.
Why did an IBAN I copied carefully still fail?
Work through it in order: count the characters against the country's fixed length, then look for lookalike pairs (0 and O, 1 and I) and for a dropped digit in the long account section. If it still fails, ask the recipient to resend it from their bank โ don't adjust digits until it passes, since a hand-fixed number can validate and still point at the wrong account.
Which countries don't use IBANs?
Many. The United States uses a 9-digit ABA routing number with a domestic account number, and Canada and Australia likewise run their own domestic systems. IBANs are standard across Europe and adopted in dozens of other countries, but they were never a global system โ a US account simply has no IBAN.
More guides

BMI, BMR and TDEE: Three Numbers, Three Different Jobs
One is a ratio, one is an idling cost, one is a daily total. Compare them as if they were the same kind of number and every one of them will mislead you.

Time Zone Math: Why Your Meeting Keeps Landing at 3 A.M.
Nobody on your team is bad at arithmetic. The offset they memorised quietly expired โ that's the whole story behind the 3 a.m. meeting.

JSON Without Tears: Structure, and the Five Errors Everyone Makes
One missing comma can break a whole API call โ and the error message will blame the wrong line. Here's the tree underneath the text, and the five mistakes that account for nearly every broken file.