What a pass means, and what it does not
A pass means the IBAN is well-formed: it is almost certainly not mistyped. It does not mean the account exists, that it is open, or that it belongs to the business named on the invoice. Anybody with a bank account has an IBAN that passes every check on this page, including whoever sent an invoice with their own account number in place of your supplier's.
That matters because the most common invoice fraud is exactly that swap: a real-looking invoice, or an email "from" a supplier you already pay, saying the bank details have changed. If that is why you are here, call the supplier on a number from your own records, not one from the email, and run the details through the invoice scam checker.
A check that does look at the account is your bank's own name check. In the UK it is Confirmation of Payee, which Pay.UK describes as "an account name-checking service" for UK payments. In the euro area, banks have had to offer Verification of Payee since 9 October 2025, and the rest of the EU follows by 9 July 2027. Both compare the name you type with the name on the account before the money goes. A "no match" there is worth far more than a pass here.
What it checks
- The country. The first two letters must be one of the 89 countries in SWIFT's IBAN registry. Some places with a country code of their own bank under another's: Guadeloupe or Réunion use FR, and Jersey, Guernsey and the Isle of Man use GB.
- The length. Each country's IBAN has a fixed length, from 15 characters in Norway to 33 in Russia. A UK IBAN is 22, a German one 22, a French one 27.
- The layout. Each position is a digit, a letter, or either, according to the country. A UK IBAN has four letters for the bank after the check digits, then 14 digits, so an O typed for a 0 is caught here.
- The check digits. The two digits after the country code are worked out from everything else, under the ISO 13616 rule: move the first four characters to the end, turn each letter into a number (A is 10, B is 11 and so on), and the result divided by 97 must leave 1. A single mistyped digit always fails it, and so does almost any other single slip, such as two neighbouring characters swapped.
When it passes, the sheet shows the bank code, and the branch code where the registry defines one (for a UK IBAN, the sort code). The BIC, if you add it, is checked for its layout: four letters for the bank, two for the country, two letters or digits for the location, and an optional three for the branch.
Countries that do not use IBANs
The United States, Canada, Australia, New Zealand, Japan and Singapore are not in the IBAN registry. A supplier there is paid by account number with a routing number, BSB, transit number or similar, and a SWIFT/BIC code for an international transfer. An "IBAN" that starts US or AU is not one, and the sheet says so.
Where the rules come from
The country list, lengths and layouts are SWIFT's IBAN registry, release 101. SWIFT's site does not allow automated downloads, so the table was taken from the copy that python-stdnum generates from the registry file, and checked against schwifty's copy and the table in Wikipedia's IBAN article. All three agree on every length they share. The example IBAN for each of the 89 countries passes.
What this checker does not do
- It does not contact any bank. It cannot say whether the account exists, is open, or who holds it. Your bank's name check, above, is the nearest thing to that.
- It does not run each country's own check digit. Some countries, Spain and Belgium among them, put a second check digit inside the account number. This page checks only the IBAN's own two, which catch the same typos in almost every case.
- It cannot say a BIC is real. It checks the BIC's shape and that its country matches the IBAN's, not that the code belongs to a bank.
- A new country may be missing. SWIFT adds countries to the registry from time to time. One added after release 101 would be reported as unknown until this page is updated.
- It does not keep anything. Nothing is written to your browser's storage and nothing you type is sent to us.
Related
If you send invoices rather than pay them, put your IBAN and BIC on the invoice in groups of four, as the sheet shows them, so a client copying them by hand has the best chance of getting them right. The invoice generator has a payment details section for them, and the VAT number checker checks the other number a cross-border invoice usually carries. Paid in euro? The SEPA QR code generator turns the same details into a code the client's banking app can scan.
Last updated 3 October 2026