Check IBANs from 89 countries: length, format and mod-97 check digits, with the bank code
Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 16 Oct 2026.An IBAN is valid when its country is in the SWIFT IBAN registry, its length matches that country, its account part has the right letters and digits, and the number, rearranged, leaves a remainder of 1 when divided by 97. This checker runs all 4 checks for 89 countries in your browser.
Paste one IBAN, or a list with one per line; spaces, dashes and lower case are fine.
Each IBAN is checked as you type: country, length, the format of the account part, and the mod-97 check digits.
A valid IBAN shows its print format, country, bank and branch code; an invalid one says which check failed and, for a typo, the check digits it should have.
Press Copy valid IBANs to take the clean ones, without spaces, one per line.
The International Bank Account Number (ISO 13616) puts a country code and two check digits in front of the national account number, so a payment system can catch a mistyped account before any money moves. This checker applies the same tests a bank's system does.
The four checks.
| Check | What it looks at | Example of a failure |
|---|---|---|
| Country | The first two letters are in the registry | XX82... |
| Length | Exactly the country's length | A German IBAN with 20 characters, not 22 |
| Format | Letters and digits where the country puts them | A digit where a UK bank code needs a letter |
| Check digits | Remainder 1 under mod 97 | One digit typed wrong |
Why mod 97 catches typos. The check digits are chosen so that the whole IBAN, read as a number with letters counted as 10 to 35, leaves 1 when divided by 97. Changing any one digit, or swapping two neighbouring digits, always changes that remainder, so those mistakes are always found, and other typos almost always are. When only the check digits disagree, the checker shows the digits the rest of the IBAN would need.
What a valid IBAN tells you. A valid IBAN is well formed: it can still belong to a closed account or to someone else. The bank and branch codes shown come from the registry's positions for each country.
Calculate check digits. The second tab builds an IBAN from a country and a national account number (BBAN), after checking the BBAN's length and format.
The country table comes from the SWIFT IBAN Registry and was checked against a second, separately kept reading of it: every published example IBAN validates. Nothing you paste leaves the browser.
Paste the IBAN and four checks run at once: the country code is in the IBAN registry, the length is right for that country, the account part has the right letters and digits, and the two check digits pass the mod-97 test. All four must pass for the IBAN to be valid.
Move the country code and check digits to the end, replace each letter with a number (A is 10, B is 11, up to Z at 35), and divide the whole number by 97. A valid IBAN leaves a remainder of 1. New check digits are 98 minus the remainder, with 00 in their place.
No. Validation proves the IBAN is well formed and almost certainly free of typing errors, since the mod-97 check catches every single wrong digit and every swap of two neighbouring digits. Only the bank holding the account can confirm that it is open and in the name you expect.
Length depends on the country, from 15 characters in Norway to 33 in Russia. Germany uses 22, the United Kingdom 22, France 27, the Netherlands 18, Spain 24 and the United Arab Emirates 23. The checker knows the exact length for all 89 countries in the registry.
Yes. Paste a column from a spreadsheet, one IBAN per line, and every line is checked separately, with up to 1,000 lines at a time. The summary counts valid and invalid ones, and Copy valid IBANs gives the clean list in electronic format, without spaces.
No. Every check runs in your browser with no request to any server, and nothing is stored, so customer bank details stay on your device. The country table is part of the page itself, which is also why the tool keeps working offline.
Rates and rules change; check the source before you rely on a figure.
Still stuck? Ask about IBAN Validator and Checker and anybody who knows can answer. No account needed.
Same job, other tools: Twitter Card Validator – Check twitter:card tags and the og: tags X falls back to.
On the related tools: Readability Checker – Flesch reading ease and grade level, with what to change · JSONPath Evaluator – Evaluate a JSONPath expression and get the matching values and their paths.