Free tool

IBAN validator and generator

Paste an IBAN to verify the MOD-97 checksum, identify the bank and pull the BIC for international transfers. Switch to Generate mode to compute valid check digits from a country code and BBAN. Everything runs in your browser — no data leaves the page, no signup, no API key.

Validate an IBAN

Paste an IBAN with or without spaces. The MOD-97 checksum, country structure and bank lookup happen instantly.

🏦

Paste an IBAN on the left to see the bank, BIC, account structure and checksum result.

Why every transfer should start with an IBAN check

An IBAN — International Bank Account Number — is the standardised way to identify a bank account across borders in Europe and beyond. Behind every IBAN sits a small mathematical safeguard called the MOD-97 checksum: two digits placed right after the country code that prove the rest of the number was typed correctly. If a single digit is wrong, the checksum no longer matches and the IBAN is rejected by every bank in the world. That is why pasting an IBAN into a validator before initiating a transfer is the cheapest insurance against typos that send money to the wrong account.

The validator on this page does the full check in your browser. It verifies the MOD-97 checksum, then matches the country-specific structure (Germany has an 8-digit Bankleitzahl plus a 10-digit account number; France adds a national check digit; the Netherlands uses a 4-letter bank code) and finally cross-references the bank-code portion against a curated database of major European banks. Where a match is found you also see the BIC/SWIFT code needed for international transfers — saving a separate lookup on the bank's website.

The Generate tab solves the inverse problem: given a country and the local BBAN (the part of the account number that exists in the bank's own systems), it computes the two MOD-97 check digits and assembles a fully valid IBAN. This is useful when migrating from a national account format to the IBAN format, when populating a test fixture for accounting software, or when verifying that an IBAN you were given matches the underlying account number you have separately. Both modes are 100% client-side: nothing is uploaded, nothing is logged, no account is required.

MOD-97 checksum verified locally

Standard ISO 13616 algorithm runs in pure JavaScript in your browser. No round-trip to any server.

35+ countries supported

All EU and EEA countries plus the UK, Switzerland, Norway, Iceland, Serbia and several non-EU IBAN countries. Each has its own structure and the parser knows them all.

Bank lookup with BIC/SWIFT

For valid IBANs we look up the bank name, city and BIC/SWIFT code from a curated database of major European banks. Useful for international transfers that need both IBAN and BIC.

Generate mode for migrating to IBAN

Got a national account number? Pick the country, paste the BBAN and we compute the correct two-digit MOD-97 prefix to assemble a valid IBAN. No more manual checksum math.

Privacy by design

The IBAN you paste never leaves your device. No upload, no logging, no analytics tracker on the form. Closing the tab discards everything.

Bridges into the invoice generator

After validating an IBAN, jump straight into the invoice generator with the IBAN and BIC pre-filled. One typo less on every invoice you send.

Frequently asked questions

Short answers to the questions people most often ask before relying on the page.

What is an IBAN exactly?
IBAN stands for International Bank Account Number. It is a standardised format defined by ISO 13616 that uniquely identifies a bank account across countries. Every IBAN starts with a 2-letter country code, then 2 check digits (MOD-97), followed by the country-specific BBAN that contains the bank code and the account number. Length varies from 15 characters (Norway) to 31 (Malta) depending on the country.
What does MOD-97 actually do?
MOD-97 is a checksum algorithm. The IBAN is rearranged by moving the country code and check digits to the end, every letter is replaced with a 2-digit code (A=10, B=11, … Z=35), and the resulting big number is divided by 97. A valid IBAN always produces a remainder of 1. If anything else comes out, the IBAN has a typo somewhere. The two check digits are computed during account assignment so that the equation works.
Why does the validator say my IBAN is correct but my bank rejects it?
Format validation only proves that the number could mathematically exist as an account in the country's banking system — it does not prove that the account is currently open at the named bank. An IBAN can pass MOD-97, identify a real bank, and still belong to a closed or never-opened account. Banks check the actual existence in their internal registry, which the validator cannot reach. Use the validator to catch typos before sending; rely on a small test transfer to confirm the account is active.
Is the IBAN database complete?
We carry the major retail and commercial banks per country (typically the top 10 to 15). When the bank code is not in our database, the rest of the parsing still works and the IBAN is still validated — you just see 'Bank not in our database' instead of the bank name. We expand the database based on user requests; let us know if your bank is missing.
Can I check IBANs from outside Europe?
Yes for many countries. The validator covers all 27 EU member states plus the UK, Switzerland, Norway, Iceland, Serbia, Liechtenstein, Monaco, San Marino, Andorra, Albania, Georgia and Turkey. Other IBAN-using countries (Saudi Arabia, UAE, Israel, Tunisia, Pakistan and several more) follow the same MOD-97 standard but are not in our country list yet — let us know if you need them and we will add them.
Why does my IBAN sometimes start with a letter (NL ABNA, IE BOFI)?
Some countries use a 4-letter alphabetic bank code instead of digits. The Netherlands uses ABNA for ABN AMRO, INGB for ING, RABO for Rabobank; Ireland uses BOFI for Bank of Ireland, AIBK for Allied Irish Banks. The format is country-specific and is part of the official IBAN structure published by the European Committee for Banking Standards. The MOD-97 algorithm handles letters by mapping them to numbers (A=10 … Z=35), so the checksum still works.
Do you store any of the IBANs I check?
No. Validation and generation both run entirely in your browser using JavaScript on the client. There is no API call, no server-side log, no analytics tracker on the form. The IBAN you paste exists only in the browser tab — closing it discards everything.
What if I get an IBAN with the wrong country prefix?
Each country has a fixed total length and a fixed structure pattern. A 'DE' IBAN has to be exactly 22 characters with 8 digits of bank code and 10 digits of account number; a 'FR' IBAN has to be 27 characters with a specific layout. If the prefix and the rest of the number do not match the country's structure, the validator flags it immediately — this catches a common scam pattern where bad actors swap the country prefix to redirect a transfer.