IBAN Validator
ISO 13616Validate any IBAN with mod-97 checksum verification, country-aware length checks, and structured result output.
Spaces are ignored. Input is normalized automatically.
Try an example:
Enter an IBAN above to validate it
How IBAN validation works
- 1.Normalize the IBAN — remove spaces, uppercase all characters.
- 2.Check the country code and verify the total length matches the expected value for that country.
- 3.Move the first 4 characters to the end, replace letters with digits (A=10, Z=35).
- 4.Compute the result modulo 97. A valid IBAN must produce a remainder of 1.
Common issues
- •Wrong country length — each country has a fixed IBAN length (e.g. DE = 22, GB = 22, FR = 27). A digit off means invalid.
- •Check digits 00, 01, 99 — these values are reserved and will always fail mod-97 validation.
- •Transcription errors — the Luhn-like mod-97 check catches single-digit swaps and substitutions.
- •BBAN format — after the country + check digits, the BBAN format varies per country (sort code, account number, bank identifier).
Dev snippet — validate IBAN (JavaScript)
function validateIban(raw) {
const iban = raw.replace(/\s/g, "").toUpperCase();
const rearranged = iban.slice(4) + iban.slice(0, 4);
const numeric = rearranged.replace(/[A-Z]/g, (c) => c.charCodeAt(0) - 55);
let remainder = 0;
for (const ch of numeric) remainder = (remainder * 10 + parseInt(ch)) % 97;
return remainder === 1;
}