IBAN Validator

Share:

Check an IBAN against its country's length and format in the SWIFT IBAN Registry, the check-digit range and the mod-97 checksum, and see whether the country is in SEPA.

RT-FIN-052 · Finance & Money
Your browser is too old for this tool’s interactive features. Please update to Safari 13.1, Chrome or Edge 80, Firefox 74 or newer.

IBAN Validator Tool

Each button loads the example IBAN SWIFT publishes for that country in the IBAN Registry, not anyone's account.

Note for ASEAN users: Timor-Leste is the only ASEAN member with an IBAN format in the SWIFT IBAN Registry (prefix TL, 23 characters); it joined ASEAN on 26 October 2025. Brunei, Cambodia, Indonesia, Laos, Malaysia, Myanmar, the Philippines, Singapore, Thailand and Vietnam have no entry, and neither do Hong Kong or Taiwan, so there is no IBAN to check for an account there. Ask the recipient's bank which details it needs. In Singapore, the Association of Banks publishes the SWIFT BIC of each bank in GIRO, and PayNow sends Singapore dollars by mobile number, NRIC/FIN or Virtual Payment Address.
📅 Research current as of 02 Oct 2026 · Sources: SWIFT IBAN Registry Release 103 for each country's length, BBAN structure and example IBAN; the MOD 97-10 checksum of ISO/IEC 7064 as the European Committee for Banking Standards describes it in EBS204; and the European Payments Council's SEPA scope list, EPC409-09 version 8.0 (24 December 2025).
Standards, published formulas, and reference data are revised over time — check against a current authoritative source before relying on these figures.
Advertisement
After results · AD-W1 Responsive · Post-tool — peak engagement

How to use the IBAN validator

Paste the IBAN

Drop the IBAN into the input box. Spaces, hyphens, dots, lower case, full-width characters typed through a Chinese or Japanese input method, and a leading "IBAN" label copied from a statement are all handled before anything is checked.

Read the status banner

A green tick means four checks passed: the length is the one the SWIFT IBAN Registry fixes for that country, every character fits the country's registered format, the check digits are a number from 02 to 98, and the mod-97 checksum leaves 1. A red cross names the first check that failed, and for a format error, the position of the character that does not fit.

Review the breakdown

The dark result card shows the country, the country code, the two check digits, the BBAN (the country-specific part), the registry's format for it (8n · 10n reads "8 digits, then 10 digits"; a means letters and c letters or digits), the IBAN in groups of four, its length, and whether the country is in SEPA according to the European Payments Council.

Try the country presets

The buttons under the input load the example IBANs SWIFT publishes in the registry for Germany, the UK, France, Spain, the Netherlands, Switzerland, the UAE, Brazil and Timor-Leste, so you can test without typing anyone's account number.

Advertisement
After how-to · AD-W2 Responsive

What an IBAN holds, what its check digits catch, and where in Asia there is none

The International Bank Account Number (IBAN) is defined by ISO 13616. ISO designated SWIFT as its registration authority in 2006, and only a national standards body or a national central bank can ask SWIFT to register a country's format (SWIFT). An IBAN is a two-letter country code, two check digits, and a Basic Bank Account Number (BBAN) of up to 30 letters and digits whose length is fixed for each country. The current IBAN Registry, Release 103 of September 2026, has 89 entries for countries and territories, from Norway's 15 characters to Russia's 33. This tool's table is generated from that release.

Length, format, check digits, checksum

Each registry entry also gives the BBAN's structure, field by field. Germany's is 8n,10n: eight digits, then ten digits. Brazil's changed in Release 103: since August 2026 the eight-character bank identifier may contain letters as well as digits (8c where it was 8n), and the registry's example for Brazil now has an A in it. The tool checks every character against its country's structure, so a letter where the registry allows only digits is rejected even when the arithmetic happens to work out.

The checksum is MOD 97-10 from ISO/IEC 7064, as the European Committee for Banking Standards described it in EBS204: move the first four characters to the end, replace each letter with a number (A=10, B=11, … Z=35), and divide by 97. A valid IBAN leaves a remainder of 1. Under EBS204's rule the check digits are issued as 98 minus a remainder that runs from 0 to 96, so they always fall between 02 and 98. That range is our derivation from the generation rule, not a quotation from ISO 13616, whose text is paywalled. It matters because mod 97 cannot tell 00, 01 and 99 apart from 97, 98 and 02: a checker that tests only the remainder accepts the registry's example for Iraq with its check digits 98 replaced by 01. This one does not.

What the check digits miss

We tested every single-character error in all 89 example IBANs SWIFT publishes in the registry. The checksum alone caught all 16,452 changes of one digit to another and all 1,197 swaps of two neighbouring digits. Of the 69,195 single-character substitutions, 444 got through, and every one of those changed a digit into a letter or a letter into a digit: a letter counts as two digits in the arithmetic, so the error stops being a single substitution. With the registry's format checked as well, as this tool now does, 143 of the 69,195 still pass, all of them in fields the registry itself allows to hold letters or digits. These are counts over SWIFT's 89 examples, one per country, not over real-world typing errors.

SEPA is 41 countries, and the UK is one of them

The European Payments Council's list of the SEPA schemes' geographical scope (EPC409-09, version 8.0, 24 December 2025) has 41 countries: the 27 EU member states, 3 more in the European Economic Area, and 11 outside it. Montenegro and Albania were admitted on 21 November 2024, North Macedonia and Moldova on 6 March 2025, and Serbia on 22 May 2025. The United Kingdom stayed in SEPA's scope after 1 February 2020, under an EPC Board decision of 7 March 2019. The "In SEPA" line in the result follows the EPC's list, not the registry's own SEPA column, which still marks those five newer members as outside. Within the EU, Regulation 260/2012 (Article 5(7)) stopped payment providers from requiring a BIC for national euro transfers after 1 February 2014 and for cross-border ones after 1 February 2016; the EPC notes that EU and EEA law fully applies only between institutions in the EU and EEA.

Singapore, Malaysia and the ASEAN exception

Singapore, Malaysia and eight other ASEAN members have no entry in the registry, and neither do Hong Kong or Taiwan. Timor-Leste does: its central bank's format (TL, 23 characters) has been in the registry since September 2014, and Timor-Leste became ASEAN's 11th member on 26 October 2025. In Singapore, PayNow, launched on 10 July 2017, sends Singapore dollars through FAST to a mobile number, NRIC/FIN or Virtual Payment Address, so the sender does not need the recipient's bank and account number. The Association of Banks in Singapore publishes a list pairing each GIRO bank's four-digit bank code with its SWIFT BIC. In Malaysia, Bank Negara Malaysia's Interoperable Fund Transfer Framework (30 June 2026) describes a National Addressing Database that links an account to a mobile phone number, NRIC number, passport number or company or business registration number, and the same framework covers DuitNow Transfer. Across borders, the Monetary Authority of Singapore describes the PayNow–PromptPay link with Thailand (29 April 2021) as the world's first linkage of real-time payment systems, and the PayNow–DuitNow link with Malaysia (17 November 2023) lets a sender pay using just the recipient's mobile number or Virtual Payment Address. None of these uses an IBAN.

A valid IBAN is not a verified account

Passing every check here shows that the string is well formed. It does not show that the account exists, that it is open, or who holds it. The EU's Regulation 2024/886 records that the account identifier alone used to decide where a payment went, with no duty on the bank to check the payee's name. Its Article 5c now requires the payer's bank to offer Verification of Payee, which compares the IBAN with the payee's name before you pay: from 9 October 2025 in the euro area, and by 9 July 2027 in EU countries outside it. Elsewhere, only the receiving bank can confirm an account.

The letter typos mod 97 lets through, and the one ASEAN country with an IBAN

01

ISO 13616 has had four editions: 1997, 2003, 2007 (split into two parts) and 2020, which is current as 13616-1:2020 (the structure) and 13616-2:2020 (the registration authority).

02

Across SWIFT's 89 registry examples, the checksum caught every one of the 16,452 single wrong digits and the 1,197 swaps of two neighbouring digits we tried.

03

The misses are letters. 444 of 69,195 single-character substitutions passed mod 97 alone, every one turning a digit into a letter or the reverse. Checking each country's registered format cuts that to 143.

04

Check digits run from 02 to 98, never 00, 01 or 99: they are 98 minus a remainder between 0 and 96. Mod 97 alone cannot see the difference, so 01 can pass where 98 belongs.

05

Norway's IBAN is the shortest in the registry at 15 characters and Russia's the longest at 33, ahead of Saint Lucia's 32. The standard allows up to 34.

06

The registry grew from 78 entries in February 2021 to 89 by May 2026. Release 103, September 2026, keeps the same 89 but changes Brazil's format so its bank identifier may contain letters.

07

SEPA covers 41 countries in the EPC's list of 24 December 2025. Albania, Moldova, Montenegro, North Macedonia and Serbia joined in 2024–25; the IBAN Registry's own SEPA column still lists them as outside.

08

The UK did not leave SEPA. The EPC Board decided on 7 March 2019 that it would remain in SEPA's geographical scope from 1 February 2020.

09

Timor-Leste, ASEAN's 11th member since 26 October 2025, has had an IBAN format since September 2014: TL plus 21 digits, 23 characters in all.

10

Three prefixes cover other territories: FI covers the Åland Islands, GB covers Jersey, Guernsey and the Isle of Man, and FR covers twelve French territories. An Åland IBAN starts with FI.

Frequently asked questions

No. Singapore has no IBAN format in the SWIFT IBAN Registry, so a Singapore account has no IBAN to check. For a payment from abroad, ask your bank which details to give; the Association of Banks in Singapore publishes the SWIFT BIC of each bank in GIRO alongside its four-digit bank code. For Singapore-dollar transfers at home, PayNow takes a mobile number, NRIC/FIN or Virtual Payment Address instead of a bank and account number.
An IBAN identifies an account; a BIC (Business Identifier Code, often called a SWIFT code) identifies a bank or other institution. Inside the EU, Regulation 260/2012 stopped payment providers from requiring the BIC for euro transfers once the IBAN is given (national transfers from 1 February 2014, cross-border from 1 February 2016). Outside that scope, your bank may ask for both.
Because every check here is about the shape of the number: its length, its country's registered format, its check digits and the mod-97 checksum. None of them shows that the account exists, is open, takes the currency, or belongs to the person you mean. Only the receiving bank knows that. In the euro area, banks have had to offer Verification of Payee since 9 October 2025, which compares the IBAN with the payee's name before you pay.
As a cross-border payment between banks over SWIFT, with the IBAN as the beneficiary's account. SWIFT says the period in which its older MT messages ran alongside ISO 20022 ended on 22 November 2025, so these payments now travel as ISO 20022 messages. The regional links Singapore has built, PayNow–PromptPay with Thailand and PayNow–DuitNow with Malaysia, do not use IBANs.
Move the first four characters to the end, replace every letter with a number (A=10, B=11, … Z=35), and divide the resulting number by 97: a correct IBAN leaves a remainder of 1. The check digits are chosen so that this works out. Under the European Committee for Banking Standards' rule they are 98 minus a remainder between 0 and 96, so they are always between 02 and 98, and this tool refuses 00, 01 and 99.
Yes. Its format was registered in September 2014 at the request of Banco Central de Timor-Leste: TL, two check digits and a 19-digit BBAN, 23 characters in all. Timor-Leste joined ASEAN as its 11th member on 26 October 2025, which makes it the only ASEAN member with an IBAN format.
No. The check runs in your browser. The IBAN you type is not sent, stored or put in the page address; the page loads the site's usual scripts, but the check itself makes no network request.
The format allows up to 34 characters: a two-letter country code, two check digits and up to 30 characters of BBAN. Each country fixes its own length. In Release 103 of the registry, Russia's is the longest at 33, Saint Lucia's 32, Malta's 31, Germany's and the UK's 22, and Norway's the shortest at 15.
Look for look-alike characters: capital O for zero, I for one, S for five, B for eight. Across SWIFT's 89 registry examples, swapping one of these pairs got past mod 97 alone 7 times in 1,370 and gets past this tool 3 times; when the swap puts a letter where the country's format calls for a digit, the message names the position. Spaces, hyphens, dots, lower case and full-width characters are handled for you.
41, in the European Payments Council's list of 24 December 2025: the 27 EU member states, Iceland, Liechtenstein and Norway, and Albania, Andorra, Moldova, Monaco, Montenegro, North Macedonia, San Marino, Serbia, Switzerland, the United Kingdom and Vatican City. Gibraltar also has its own prefix in the list. The "In SEPA" line in the result follows that list.

Method & sources

How it computes

Checked in order against the SWIFT IBAN Registry, Release 103 (September 2026): the country prefix and its fixed length; letters and digits only; check digits that are two digits from 02 to 98; every BBAN character against that country's registered structure (n digits, a letters, c either); then MOD 97-10 — first four characters moved to the end, letters A=10 to Z=35, remainder must be 1, computed in 9-digit chunks so no step loses integer precision.

What this tool implements

  • ISO 13616 structure as each country registered it in the SWIFT IBAN Registry, Release 103 (September 2026): prefix, fixed length and BBAN structure for all 89 entries, generated into the tool's table from the registry file rather than typed, so Brazil's August 2026 change (letters allowed in the 8-character bank identifier) is applied. The ISO/IEC 7064 MOD 97-10 check is applied on top; the two are separate checks and both are applied.
  • Check digits must be two digits from 02 to 98. The range is DERIVED from the generation rule in ECBS EBS204 (98 minus a remainder of 0 to 96), not quoted from ISO 13616, which is paywalled. Mod 97 cannot tell 00, 01 and 99 from 97, 98 and 02, so a checksum-only validator accepts, for example, the registry's Iraq example with 01 in place of 98; this one does not.
  • Length is checked per country, not generically. IBAN length is fixed for each country (Norway 15, Malta 31) and a value that is merely "plausible" for some country is invalid for its own.
  • Measured over the 89 example IBANs SWIFT publishes in the registry, every single-character error: mod 97 alone catches all 16,452 digit-for-digit substitutions and all 1,197 swaps of two adjacent digits, and misses 444 of 69,195 single-character substitutions, every one a digit changed to a letter or the reverse. With the registry structure also checked, 143 pass, all in fields the registry allows to hold letters or digits. A corrupted IBAN leaves any remainder other than 1, not one fixed value.
  • The SEPA flag follows the European Payments Council's list (EPC409-09 version 8.0, 24 December 2025: 41 countries), not the registry's own SEPA column, which still marks Albania, Moldova, Montenegro, North Macedonia and Serbia as outside.
  • ⚠️ THIS VALIDATES A FORMAT, NOT AN ACCOUNT. A number that passes is well-formed and internally consistent; it is not evidence that the account exists, is open, or belongs to anyone. No bank and no registry is consulted, and none could be from a browser. In the euro area, Regulation (EU) 2024/886 has required banks to offer Verification of Payee since 9 October 2025.

Sources

  • ISO 13616-1:2020, Financial services — International Bank Account Number (IBAN) — Part 1: Structure of the IBAN, and ISO 13616-2:2020, Part 2: Role and responsibilities of the Registration Authority. Published by the International Organization for Standardization; the texts are paywalled, which is why no link is given here rather than a link that does not resolve.
  • ISO/IEC 7064:2003, Information technology — Security techniques — Check character systems, which specifies the MOD 97-10 system the IBAN checksum uses.
  • SWIFT. IBAN Registry, Release 103 (September 2026). SWIFT is the registration authority ISO designated for ISO 13616 in 2006; the lengths and BBAN structures this tool checks are generated from this release. https://www.swift.com/swift-resource/9606/download
  • European Committee for Banking Standards. EBS204 version 3.2 (August 2003): IBAN validation and check-digit generation.
  • European Payments Council. EPC409-09, EPC List of Countries in the SEPA Schemes' Geographical Scope, version 8.0 (24 December 2025).
  • Regulation (EU) 2024/886, Article 5c: verification of payee, 2024. https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R0886

What can make this go out of date

  • SEPA membership follows EPC409-09 version 8.0 (24 December 2025). The EPC revises that list as countries are admitted, independently of the registry, which is why the flag is not taken from the registry.

Abridged — the full review record for this tool runs longer than the list above.

Advertisement
Pre-footer · AD-W3 728 × 90