To validate an IBAN, check four things: the country code is in the 97-country IBAN registry, the length matches that country's rule (22 for the UK and Germany, 27 for France), the BBAN fits the country's letter/digit structure, and the mod-97 checksum equals exactly 1. Paste your numbers above — GB82 WEST 1234 5698 7654 32 passes all four (its check number 3214282912345698765432161182 leaves remainder 1 when divided by 97); change the final 2 to a 1 and the remainder jumps to 71, so it fails. A valid IBAN is well-formed, not proof the account exists. Nothing you paste is uploaded.

IBANs to Check (one per line)

Hit Validate. The checker loads from this site and runs locally — nothing is transmitted.
Advertisement

IBAN Length & Structure by Country

CountryCodeTotal LengthBBAN Structure (after the check digits)SEPA
United KingdomGB224 letters (bank + branch) + 14 digitsYes
GermanyDE2218 digits (bank code + account)Yes
FranceFR2710 digits + 11 letters/digits + 2-digit keyYes
NetherlandsNL184-letter bank code + 10 digitsYes
BelgiumBE1612 digitsYes
SpainES2420 digitsYes
ItalyIT271 check letter + 10 digits + 12 letters/digitsYes
SwitzerlandCH215 digits + 12 letters/digitsYes
AustriaAT2016 digitsYes
IrelandIE224 letters/digits + 14 digitsYes
PortugalPT2521 digitsYes
SwedenSE2420 digitsYes
NorwayNO1511 digitsYes
DenmarkDK1814 digitsYes
FinlandFI1814 digitsYes
PolandPL2824 digitsYes
TürkiyeTR265 digits + 17 letters/digitsNo
Saudi ArabiaSA242 digits + 18 letters/digitsNo
UAEAE233 digits + 16 digitsNo
BrazilBR2923 digits + 1 letter + 1 letter/digitNo
United StatesUSNot in the IBAN system — routing number + account number insteadn/a

The IBAN registry covers 97 countries; 37 of them are in SEPA. Lengths range from 15 (Norway) to 29 (Brazil). This table is generated from the same country-rules database the validator engine uses, so the page and the tool can't drift apart.

What Each Error Code Means

CodeEngine errorIn plain English
0NoIBANProvidedEmpty line — nothing to check
1NoIBANCountryCountry code isn't in the IBAN registry (US, CA, AU, JP, or a typo like XX)
2WrongBBANLengthTotal length doesn't match the country's rule
3WrongBBANFormatBBAN has letters where digits belong (or vice versa) for that country
4ChecksumNotNumberCharacters 3–4 aren't digits — the check digits themselves are malformed
5WrongIBANChecksumMod-97 doesn't equal 1: at least one digit is wrong somewhere
6WrongAccountBankBranchChecksumThe BBAN's own internal checksum failed (only fires for countries whose rule is compiled in)
7QRIBANNotAllowedQR-IBAN presented where the rules reject it (Swiss QR-bill context)

Codes 1–5 are the ones you'll see in practice, and code 5 dominates: it's the checksum catching the typo. A checksum failure localizes nothing by itself — any wrong digit anywhere produces it.

How IBAN Validation Works

An IBAN is a country code, two check digits, and a domestic account number (the BBAN) packaged so a computer can catch typos before money moves. Validation is four gates: country, length, structure, checksum. The first three are lookup tables; the fourth is arithmetic, and it's the one doing real work.

The mod-97 checksum

Move the first four characters to the end. Replace every letter with a number (A=10, B=11, …, Z=35). Read the result as one big integer and take the remainder on division by 97. If the remainder is 1, the checksum passes. The math is ISO 7064 MOD 97-10, the same family of check-digit schemes behind ISO bank account numbers generally — and it catches every single-digit substitution and most transpositions.

How to use this tool

Paste one IBAN or a hundred, one per line, and hit Validate. Each result shows the country, the expected length against the actual, the BBAN structure verdict, SEPA membership, and any error codes. When the checksum is the only failure, you also get the check digits that would fit the rest of the number — useful when the check digits themselves were the typo, and a hint to look elsewhere when they weren't. The engine is ibantools 4.5.4, loaded from this site; your numbers never leave the page.

A worked example

Take GB82 WEST 1234 5698 7654 32. Strip the spaces: GB82WEST12345698765432, 22 characters, which matches the UK's rule. Structure: WEST (four letters) plus 14 digits, also right. Now the checksum. Move GB82 to the end and convert letters: W=32, E=14, S=28, T=29, G=16, B=11, so the check number is

3214282912345698765432161182

Divide by 97 and the remainder is exactly 1 — valid. Now the classic typo, the final digit 2 typed as 1: the check number becomes 3214282912345698765431161182, the remainder jumps to 71, and validation fails with error code 5. The tool then reports that check digits 12 would fit that (typo'd) remainder, which is a nudge, not a correction: only the receiving bank knows the real account number.

Frequently Asked Questions

How do I check if an IBAN is valid?

Four checks, in order: the country code must be in the official IBAN registry (97 countries participate), the total length must match that country's rule (22 characters for the UK, 22 for Germany, 27 for France), the BBAN must fit the country's structure (letters vs digits in the right slots), and the mod-97 checksum must land on exactly 1. A single mistyped digit anywhere breaks the checksum, which is why the checksum is the check that catches real-world typos.

What do the first four characters of an IBAN mean?

The first two letters are the ISO country code (GB for the United Kingdom, DE for Germany, FR for France). The next two digits are check digits computed from the rest of the number using mod-97 arithmetic, so any typo in the account portion makes them mismatch. In GB82 WEST 1234 5698 7654 32, the GB is the country and the 82 is the checksum that validates everything after it.

Does a valid IBAN mean the account exists?

No. Valid means well-formed: the checksum, length, and structure all check out, which rules out typos before you send money. It says nothing about whether the account is open, who owns it, or whether it can receive your currency. Only the receiving bank can confirm an account exists, either directly or when the payment is attempted. Treat a green result as "safe to hand to your bank," not as proof the account is live.

Why is there no IBAN for US bank accounts?

The United States, along with Canada, Australia, Japan, China, India, and Mexico, does not participate in the IBAN system; those domestic account numbers simply have no IBAN form. US accounts use a 9-digit routing number plus an account number, and international wires to them go by SWIFT/BIC code. Trying to validate a "US" IBAN returns an unknown-country error, which is exactly what should happen.

How many characters long is an IBAN?

It depends on the country: 15 in Norway, 16 in Belgium, 18 in the Netherlands, 22 in the UK and Germany, 27 in France and Italy, and up to 29 in Brazil. The standard allows up to 34. That is why length alone can't tell you an IBAN is wrong without knowing the country — and why validators keep a per-country length table.

Can I validate a whole list of IBANs at once?

Yes. Paste them one per line into the box and every line is checked separately, with a valid/invalid count at the top. Spaces and dashes are stripped automatically and the check runs in your browser, so a spreadsheet of customer IBANs never leaves your machine.

Advertisement