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.