iban-validator
An IBAN validator checks an International Bank Account Number for proper format and a valid mod-97 checksum β catching typos before money is sent to a wrong account. IBAN is the standard for cross-border bank transfers in Europe and 75+ countries; format is country-specific (German IBAN is 22 chars, UK is 22, Italy 27). The ZTools IBAN Validator checks: country code prefix, length per country, character set, and the mathematical mod-97 check digit calculation. Identifies the country, BBAN (basic bank account number), bank code, and branch. Pure client-side; no IBAN sent to any server.
Use casesβ
Pre-transfer typo checkβ
About to wire money internationally? Validate the IBAN before submitting to your bank β catches typos that could send money to a stranger.
Vendor / supplier onboardingβ
New international supplier provided an IBAN. Validate before adding to AP system; bad IBANs cause delayed/lost payments.
E-commerce checkoutβ
Real-time validation during checkout for SEPA direct debit / bank transfer. Catches typos before they cost the customer time.
Migrating dataβ
Importing customer / supplier records β bulk-validate IBANs to find dirty data.
How it worksβ
- Enter IBAN β With or without spaces. Tool normalises (removes spaces, uppercase).
- Format check β Country code (first 2 chars) β expected length and pattern lookup. Length must match exactly.
- Checksum β Mod-97 algorithm: rearrange chars, convert letters to numbers, compute mod 97. Result must be 1.
- Parse fields β Country, check digits, bank code, branch code, account number β each country has different layout.
- Result β Pass / fail + parsed components shown. Failed IBANs may indicate typo or wrong country.
Examplesβ
Input: DE89 3704 0044 0532 0130 00 (Germany sample)
Output: Valid β Germany, Bank: Commerzbank Cologne, Account: 0532013000.
Input: GB82 WEST 1234 5698 7654 32 (UK sample)
Output: Valid β UK, Bank: NatWest sort code 12-34-56, Account: 98765432.
Input: DE89 3704 0044 0532 0130 01 (typo last digit)
Output: INVALID β checksum fails. Likely typo in last digit.
Frequently asked questionsβ
What's an IBAN?
International Bank Account Number β standardised account ID for international transfers. ISO 13616. Includes country code + check digits + country-specific bank/account portion.
Why does the checksum matter?
Mod-97 algorithm catches single-digit typos (the most common error). Without checksum, a 1-character typo silently sends money to a different real account.
Is "valid" the same as "this account exists"?
No β checksum validation only confirms the format is mathematically correct. The account may not exist or may be closed. Only the destination bank can confirm.
Which countries use IBAN?
All EU + EEA, Switzerland, UK, Norway, Iceland, plus 50+ others (Israel, Saudi Arabia, UAE, Tunisia, Turkey, Pakistan, etc.). Notably NOT used in US, Canada, Australia, India.
How do US accounts work?
US uses ACH (domestic) or SWIFT/BIC + account number (international). No IBAN.
Is IBAN sufficient for an international wire?
In SEPA region (EU): IBAN alone often enough. Outside SEPA: need IBAN + BIC/SWIFT code of the destination bank. Always confirm with the recipient.
Tipsβ
- Always validate IBAN before initiating a wire transfer β catches the cheapest-to-fix errors at the cheapest moment.
- For UI input, normalise (strip spaces, uppercase) on blur β improves UX.
- Display the formatted IBAN (with spaces every 4 chars) on output β easier for humans to verify.
- For SEPA, IBAN + recipient name is enough; for non-SEPA, also collect BIC/SWIFT.
- Bulk-validate vendor IBANs annually β bank mergers cause IBAN changes.
Try it nowβ
The full iban-validator runs in your browser at https://ztools.zaions.com/iban-validator β no signup, no upload, no data leaves your device.
Last updated: 2026-05-06 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub