Skip to content
Plaintools

IBAN validator

Paste an IBAN. We strip spaces, check the country length, and run the ISO 7064 mod-97 checksum. You get the country, the BBAN, and a yes or no. The number stays in memory in this tab — there is no request that includes it.

IBAN never leaves this tab

Spaces and hyphens are ignored.

Paste an IBAN to see country, BBAN, and a yes/no. We do not log the number. A dedicated UK sort-code modulus checker is not shipped; the Vocalink weight table changes, and a stale table would be worse than none.

Example

The official UK specimen

GB82 WEST 1234 5698 7654 32 validates: United Kingdom, checksum ok, BBAN WEST12345698765432. For a UK IBAN we also show the embedded sort-code digits as format only.

Related: JWT decoder, JSON to CSV converter, Seller financing calculator

FAQ

Do you log or upload the IBAN?
No. Validation is arithmetic in the page. There is no analytics call, no server Action, and no paste of the field to a backend. Refresh and it is gone.
What do you actually check?
Characters, country code, published IBAN length for that country, and the ISO 13616 checksum. That is not proof the account exists or that the bank will accept a payment.
Can you validate a UK sort code?
Not with Vocalink modulus 10/11. That needs the current weight table and exception list, which change. Shipping a half table would be worse than skipping it. If the IBAN is GB, we only display the six sort-code digits embedded in the BBAN.
Why is my IBAN the wrong length?
Each country has a fixed IBAN length. Spaces do not count. If you dropped a digit or pasted a national account number without the country prefix, the length check fails first.
How do I validate an IBAN checksum without this page?
Strip spaces and hyphens, uppercase. Require two-letter country + two check digits + BBAN, A–Z0–9 only. Look up the ISO 13616 length for that country (this tool’s table is in the markdown recipe; unknown codes fail). Rearrange to BBAN + country + check digits, map A=10…Z=35, then ISO 7064 mod-97: remainder starts at 0, for each digit remainder = (remainder * 10 + digit) % 97; valid checksum iff remainder is 1. valid means no errors and length plus checksum both pass. For GB with an 18-character BBAN, digits 4–10 are shown as a sort code only — no Vocalink weights.