IBAN validate & format
ClientInternational Bank Account Numbers use a country prefix, two check digits, and a Basic Bank Account Number. This page recomputes the ISO MOD-97-10 checksum and checks total length for countries in a built-in registry—then offers a standard four-character grouping for display.
What is checked
After removing spaces and hyphens, the value must match the usual ISO pattern. When we know the expected length for the country code, a mismatch fails fast. Finally the IBAN is rearranged (country and check digits move to the end), letters expand to numeric codes (A=10 … Z=35), and the big integer formed by those digits must be congruent to 1 mod 97.
Related tools
For digit-only checksums (cards, some identifiers), use Luhn mod 10. For other string patterns, try Regex generator or the validators hub.
?
Spaces and hyphens are removed. We verify ISO layout (2-letter country + 2 check digits + BBAN), optional country length from an embedded registry, then MOD-97-10 on the rearranged digit string.
Result
Passes checksum and country length.
Compact: DE89370400440532013000
Grouped: DE89 3704 0044 0532 0130 00
Common use cases
- Sanity-check an IBAN from a wire form before sending it to your own validation library.
- Normalize spacing when a PDF used odd groups and you need a single-line value for an API.
- Compare MOD-97 failures against a known-good test IBAN from your QA checklist.
- Pair with the Luhn tool when you are validating mixed payment identifiers in support tickets.
Common mistakes to avoid
Treating a passing checksum as proof the account exists
Checksum only catches many typos. It does not confirm the account is open or belongs to the named party.
Expecting every world country in the length table
Rare or newer codes may pass checksum but show a length note—double-check against your issuer or SWIFT registry.
Including non-breaking spaces or odd separators
The tool strips non-alphanumeric characters; if your source mixes unicode spaces, cleanup still lands on the same compact IBAN.
FAQ
Is my IBAN sent to Toolcore servers?
No. Parsing and MOD-97 run entirely in your tab; nothing is uploaded for validation.
Do you call a bank or SWIFT directory?
No. There is no live directory lookup—only format, embedded length rules for listed countries, and checksum math.
What if my country is not in the length list?
If the checksum still passes, you will see a note that length was not double-checked against the embedded table.
Is this the same as SEPA mandate verification?
No. Mandates and direct-debit rights need your bank’s process; this page is a developer-friendly format check only.
Common search terms
Phrases people search for that match this tool. See the full long-tail keyword index.
- iban validator online mod 97
- check iban checksum in browser
- iban format and validate free
- sepa iban structure checker local
More tools
Related utilities you can open in another tab—mostly client-side.
Luhn checksum (mod 10)
ClientPaste a digit string (spaces ignored)—pass or fail Luhn for PANs, IMEI-style IDs, and test vectors; browser-only.
Validate tools
ClientHub for format validators—Web3 Ethereum address (EIP-55) and hex private key checks; more routes over time.
Regex generator & tester
ClientPresets (US/NANP & E.164 phones, email, URL), JS snippet, local test.
String case converter
ClientcamelCase, snake_case, kebab-case, PascalCase, CONST_CASE from one paste—client-side.