IBAN Validator
Validate IBANs with mod-97 checksum, see country, bank code, account number — and learn why ASEAN uses PayNow/DuitNow instead.
IBAN Validator Tool
How to use the IBAN validator
Paste the IBAN
Drop the IBAN into the input box. Spaces, dashes, mixed-case — all are tolerated. The tool normalises everything to uppercase and strips whitespace before validating.
Read the status banner
Green tick means the mod-97 checksum passes and the length matches that country's IBAN format. Red cross means one of those failed; the banner explains which.
Review the breakdown
The dark result card shows country, country code, the two check digits, the BBAN (the country-specific account portion), formatted form (4-character groups), total length, and SEPA-member status.
Try the country presets
The pills under the input cover canonical examples from Germany, UK, France, Spain, Netherlands, Switzerland, and UAE — useful for testing without leaking real account data.
IBAN — what it is, and why ASEAN doesn't use it
The International Bank Account Number (IBAN) is a standardised format for identifying bank accounts internationally. Defined by ISO 13616 and maintained by SWIFT, it consists of up to 34 alphanumeric characters: a two-letter country code, a two-digit check number, and a country-specific Basic Bank Account Number (BBAN) of up to 30 characters. Germany's IBANs are 22 characters; Norway's are 15; Russia's are 33. The point of the standard is to make cross-border payment routing unambiguous — given any valid IBAN, a SWIFT-aware bank anywhere can determine the destination country and account without manual lookup.
The mod-97 check — how validation works
The two-digit check number isn't decorative. To validate an IBAN, you move the first four characters (country + check digits) to the end of the string, replace every letter with its position-based number (A=10, B=11, …, Z=35), and compute the result mod 97. A valid IBAN always produces a remainder of exactly 1. This is the entire mathematical guarantee of IBAN integrity — it catches every single-digit typo, every transposition of two adjacent digits, and around 99% of all multi-character errors. It is not a cryptographic checksum, so a determined fraudster can construct a valid-looking IBAN, but accidental data-entry errors are caught with extremely high probability.
SEPA — the European payment area
SEPA (Single Euro Payments Area) is a payment integration initiative covering 36 countries, all of which use IBAN. For SEPA Credit Transfers and SEPA Direct Debit, you only need the recipient's IBAN — no BIC required since 2016. SEPA Instant Credit Transfer (SCT Inst) settles in under 10 seconds and is available 24/7. Bank-level interoperability across SEPA is the reason a European business can issue invoices payable by any other European customer without per-country bank-account configuration. The same scheme has no equivalent in ASEAN — each ASEAN country runs its own domestic instant payment scheme.
Why ASEAN uses something different
Singapore, Malaysia, Indonesia, Thailand, Vietnam, and the Philippines never adopted IBAN. Each country's central bank built a parallel system for instant retail payments around 2017–2019. Singapore launched PayNow (transfer by mobile number, NRIC, or business UEN — settled instantly via FAST), Malaysia launched DuitNow (mobile number, IC, or business ID), Thailand launched PromptPay (mobile or national ID), the Philippines launched InstaPay/PESONet, Indonesia launched BI-FAST, and Vietnam runs through NAPAS 247. Cross-border, an ASEAN payment goes via SWIFT MT103 or — increasingly — via PayNow-PromptPay-style bilateral linkages (Singapore-Thailand launched 2021, Singapore-India launched 2023). There is no single ASEAN IBAN equivalent because each country deliberately built its own scheme to avoid foreign infrastructure dependency.
Virtual IBANs and modern fintech
One twist worth knowing: virtual IBANs. Modern fintechs like Wise (formerly TransferWise), Revolut, and N26 issue customers IBANs in countries the customer doesn't bank in — a UK Wise user can be issued a EUR-denominated IBAN starting with BE (Belgium) for receiving European payments. These are technically valid IBANs that pass mod-97, route to the fintech's clearing account, and then settle internally to the end-customer's wallet. For users sending the payment, it looks indistinguishable from a regular bank IBAN. The tool above will validate these as mathematically correct — confirming whether the account actually exists requires the recipient bank to respond.
10 IBAN and ASEAN-payment facts
IBAN was specified in ISO 13616 in 1997 and revised in 2007 to allow non-European countries to join. Saudi Arabia, UAE, Israel, and Brazil all use IBAN today.
The IBAN mod-97 check catches every single-digit typo and every adjacent transposition — about 99% of all data-entry errors are caught before payment routing.
Germany has the world's longest-running IBAN system at 22 characters. Russia's IBAN is the longest at 33 characters; Norway's is the shortest at 15.
SEPA covers 36 countries and 524 million people. Since 2016, you don't need a BIC for SEPA transfers — the IBAN alone is sufficient.
Singapore's PayNow launched July 2017 and crossed 5 million users in its first 18 months. It runs over MAS's FAST payment rails.
Malaysia's DuitNow QR is interoperable across all participating banks since 2019 — one QR works at any bank's mobile app, the same way as Indonesia's QRIS.
Singapore-Thailand PayNow-PromptPay linkage launched April 2021 — the world's first real-time mobile-number-to-mobile-number cross-border payment link.
Wise (formerly TransferWise) issues virtual IBANs in 9 countries despite being headquartered in London — your "Belgian" Wise IBAN actually settles via Wise's clearing accounts.
The UK left SEPA in 2021 after Brexit but retained access to the SEPA scheme — UK IBANs still work for European payments via the UK's SEPA participation as a non-EU member.
The longest theoretically valid IBAN under ISO 13616 is 34 characters. No country currently uses the maximum — the longest in use is Russia's 33-character format, ahead of Saint Lucia's 32.
Frequently asked questions
Related News
You may be interested in these recent stories from our newsroom.
-
Pichai Promised Gemini 3.5 Pro in June. Google Shipped Three Flash Models.
Alphabet entered September on its longest monthly losing streak since 2015. Flash is the small tier, and shipping three of them is not the f...
-
Dell's $95bn AI Backlog Exceeds Its $74bn Full-Year AI Guidance
Record revenue of $47bn and $60.9bn of AI orders against $16.4bn recognised. The order queue grew by about $44bn in three months, and full-y...
-
Moonshot's $50bn Valuation Is the Smallest of China's Three Model Labs
The Hong Kong filing seeks about $3bn. DeepSeek is marked near $74bn and Z.AI near $66bn, and the $50bn figure came from a private round rat...
Method & sources
How it computes
An IBAN is checked in two independent ways. First its length is compared against the published length for its country code, which differs by country and is a fixed value, not a range. Then the checksum: the first four characters are moved to the end, every letter is replaced by its position value (A=10 through Z=35), and the resulting long integer must leave a remainder of 1 when divided by 97. The remainder is computed in chunks so that no step exceeds exact integer precision.
What this tool implements
- ISO 13616 structure plus the ISO/IEC 7064 MOD 97-10 check character system — the two are separate standards and both are applied.
- 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.
- The remainder is accumulated in chunks rather than converting the whole expanded string to a number, because a 31-character IBAN expands past the exact-integer range of a JavaScript double and would silently lose precision. Verified 2026-08-31 by cross-checking the chunked result against an exact big-integer computation on a 31-character Maltese IBAN — both return 1.
- Verified against four published IBANs from different countries, which all return 1, and against single-digit corruptions of them, which return 28.
- ⚠️ 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.
- The value is checked in the browser and is neither stored nor transmitted. A bank account number is personal data and this tool never sends one anywhere.
Sources
- ISO 13616-1:2020, Financial services — International Bank Account Number (IBAN) — Part 1: Structure of the IBAN, and ISO 13616-2:2022, Part 2: 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 is the ISO-appointed Registration Authority for the IBAN standard and publishes the IBAN Registry that fixes each country's IBAN length and structure; the per-country lengths this tool checks come from that registry.
What can make this go out of date
- ⚠️ The country table is a compiled snapshot. The IBAN Registry is revised as countries adopt IBAN or change their format, so a newly adopting country is absent here and its valid IBAN would be reported as an unknown country code — a false negative, which is the safer direction but still wrong.
- The SEPA flag on each country is likewise a snapshot of scheme membership, which is a political and commercial fact that changes independently of the ISO standard.
Pick up where you left off
Stored only in this browser — never sent to our servers.