IBAN Validator
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.
IBAN Validator Tool
Each button loads the example IBAN SWIFT publishes for that country in the IBAN Registry, not anyone's account.
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.
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
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).
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Pick up where you left off
Stored only in this browser — never sent to our servers.