International · Validation

IBAN validator.

Verify an International Bank Account Number's real ISO 7064 MOD 97-10 checksum, and check its length against the ISO 13616 structure for the most common countries. Everything runs in your browser: nothing you type is transmitted anywhere.

Source: ISO 7064 (MOD 97-10) + ISO 13616 (IBAN structure) Canada has no IBAN — see the Bank Institution & Transit Lookup instead

Advertisement

Inputs

Spaces are ignored. Up to 34 characters, country code first.

Result

Enter an IBAN and press Validate.

How the IBAN checksum works

An IBAN's first 2 characters are a country code and the next 2 are check digits, followed by that country's own BBAN (Basic Bank Account Number) format. The check digits are computed with ISO 7064's MOD 97-10 algorithm:

  1. Move the 4 leading characters (country code + check digits) to the end of the string.
  2. Convert every letter to a number: A=10, B=11 … Z=35 (digits are left as-is).
  3. Read the whole result as one large decimal integer and take it mod 97.
  4. The IBAN is valid if, and only if, the remainder is exactly 1.

This tool computes that remainder digit-by-digit (a running mod-97) rather than building one huge number, which is exactly equivalent for numbers of any length — Malta's 31-character BBAN included.

Country lengths (sanity check, not a full registry)

CountryCodeIBAN length
GermanyDE22
United KingdomGB22
FranceFR27
SpainES24
ItalyIT27
NetherlandsNL18
BelgiumBE16
IrelandIE22
PortugalPT25
AustriaAT20
SwitzerlandCH21
PolandPL28
SwedenSE24
DenmarkDK18
FinlandFI18

These 15 lengths were cross-checked between Wikipedia's IBAN article and iban.com's published structure table with no contradiction between the two. Every other ISO 13616 country is still checksum-validated by this tool — it just skips the extra length sanity check for countries outside this table.

Verification

Before shipping, the algorithm above was tested against two real, valid, published IBANs used as the independent open-source python-stdnum library's own doctests — a Greek IBAN and a Belgian one — and confirmed both reduce to remainder 1, while a deliberately corrupted check-digit variant does not.

What a passing checksum does and doesn’t tell you

A valid MOD 97-10 remainder only proves the IBAN's characters are internally consistent — it does not confirm the account actually exists or is open at that bank. Canada does not use IBANs at all; for a Canadian account, use the Bank Institution & Transit Lookup instead. This tool runs entirely in your browser: nothing you type is transmitted, stored, or logged.

Advertisement
Advertisement
Listening…