Article

Why was my IBAN rejected? What each reason means

Paste it into the IBAN validator: the Reason names the broken rule (check digits, length, a stray symbol, country code) and Did you mean offers fixes.

A form or a bank refused your IBAN with a bare “invalid”, and you need to know what to fix. Paste it into the IBAN validator: under the Invalid IBAN verdict, the Reason line names the rule that failed. When one character is wrong, Did you mean lists the IBANs one keystroke away that pass every check.

The reason tells you where to look. A wrong length means characters are missing or extra. Failed check digits mean a character is wrong somewhere. A Valid IBAN verdict means the form refused the number for a rule of its own.

“The mod-97 check digits do not match”: which character is wrong?

At least one character is mistyped, or two are swapped, and the validator answers with candidate fixes rather than a position. The two digits after the country code are computed from the rest. ISO 7064, the standard behind them, detects every single wrong character and all or nearly all swaps of two, as Wikipedia’s IBAN article quotes it.

That arithmetic cannot say where the error sits, so Did you mean lists up to five IBANs one edit away that pass every check. For DE89 3704 0044 0532 0130 01, it offers DE89370400420532013001 and DE89370400440532013000. Keep the one printed on your statement or invoice.

“Expected length for DE: 22 (received: 21)”: what is missing?

Characters are missing or extra: the reason gives the length the country sets, then the length received, spaces not counted. When the gap is one character, Did you mean proposes IBANs with a character added or dropped. For DE89 3704 0044 0532 0130 0, the full DE89370400440532013000 is one of its two candidates.

“Invalid character at position 22”: where is position 22?

Position 22 is the 22nd character, counted from the first letter without spaces, dashes or dots. It holds a symbol that is neither a letter nor a digit. DE89 3704 0044 0532 0130 0/ gets “Invalid character at position 22” for the slash at the end. The validator ignores spaces, dashes and dots, so they never trigger it.

A letter where a digit belongs, such as an O typed for a zero, is not named this way. It reaches the check digits and comes back as a mod-97 failure, with the corrected IBAN under Did you mean.

“Unknown country code”: why is my country not recognised?

Either the country does not issue IBANs, or the first two characters are not the country code you meant. US12 3456 7890 1234 gets “Unknown country code: US.”, since the United States does not use IBANs.

“Unknown country code: IB.” means the word IBAN was pasted with the number: delete it and verify again.

“The first two characters must be a country code”: is it an account number?

Probably: the number starts with digits, the way a domestic account number does, while an IBAN starts with two letters. Leave the IBAN field empty, open From a domestic account number, and fill Country and Domestic account number (BBAN). The result appears as Computed IBAN, verified like a pasted one.

A domestic number of the wrong length gets its own reason, such as “Expected domestic account length for FR: 23 (received: 22).” A typo inside it goes unnoticed, because the check digits are computed to fit what you typed. Compare the Computed IBAN with the statement before you use it.

The validator says Valid IBAN: why does the form still refuse it?

The number is well formed, so the refusal comes from a rule of the form, such as the format it expects. The validator ignores spaces and accepts lower case; a form may not, so try the number without spaces and in capitals.

Then read the SEPA zone tile. A form that takes SEPA accounts only refuses an IBAN marked “No — outside the SEPA zone”, which is how the validator marks a Turkish one.

Questions

Why is there no “Did you mean” under my IBAN?

Suggestions appear only when the country is known and the length is right or one character off, and only for candidates that pass every check after a single edit. They appear for a single IBAN, not in a batch. A number two characters short, or with an unknown country, gets the reason alone.

My bank accepted the IBAN but warned about the name. Is the IBAN wrong?

Not by itself: the warning comes from the bank’s payee check, which compares the name you typed with the name on the account. Ask the payee for the exact name their bank holds.

Sources and further reading

Explore

On the same subject

Picked from the index by this article's tags — the closest first, outside its series. Nothing is written by hand: a piece published tomorrow with the same tags takes its place here.

Leave a comment

Never displayed, never published. It groups your comments together and, should you sign up with it one day, hands them back to you.

Your comment will be reviewed before it appears.