Why IBAN validation prevents failed international payments
An incorrect IBAN in a cross-border payment means the transfer bounces, fees are deducted anyway, and the funds may take days to return to the sender's account. In SEPA (Single Euro Payments Area) countries, the IBAN is the primary account identifier — there is no separate account number and sort code. Get one digit wrong and the payment fails silently, leaving both parties chasing a phantom transaction.
The IBAN structure encodes the country code, two check digits, and the domestic bank account number into a single string of up to 34 characters. The mod-97 checksum at positions 3 and 4 catches single-digit errors and most transpositions — the same class of errors that the Luhn algorithm catches for credit card numbers. But unlike Luhn, the IBAN checksum also involves converting letters to numbers (A=10, B=11, and so on through Z=35), which makes manual calculation error-prone.
This validator accepts IBANs with or without spaces, strips the formatting, verifies the expected length for 30+ SEPA countries, runs the mod-97 checksum, and returns the country code and a cleanly formatted IBAN with grouped four-character blocks. It runs entirely in your browser — no server, no API, no data transmission.
SEPA country IBAN lengths
| Country | Code | IBAN length | Example format |
|---|---|---|---|
| Germany | DE | 22 chars | DE89 3704 0044 0532 0130 00 |
| France | FR | 27 chars | FR76 3000 6000 0112 3456 7890 189 |
| Spain | ES | 24 chars | ES91 2100 0418 4502 0005 1332 |
| Italy | IT | 27 chars | IT60 X054 2811 1010 0000 0123 456 |
| Netherlands | NL | 18 chars | NL91 ABNA 0417 1643 00 |
| Belgium | BE | 16 chars | BE68 5390 0754 7034 |
| Austria | AT | 20 chars | AT61 1904 3002 3457 3201 |
| United Kingdom | GB | 22 chars | GB29 NWBK 6016 1331 9268 19 |
How to validate an IBAN
Type or paste the IBAN into the input field — spaces between character groups are accepted
Click Validate to run the format and checksum checks
Review the result: valid or invalid, the detected country code, and the formatted IBAN with standard four-character grouping
Copy the formatted IBAN for use in payment forms or accounting software
How to confirm the validator is working
Test with a known-valid German IBAN: `DE89 3704 0044 0532 0130 00` should pass. Then change any digit — for example, change the 8 to a 9 — and confirm the validator rejects it. Test the country length check by entering a valid-checksum IBAN with the wrong number of digits for its country code. Finally, paste an IBAN without spaces and verify that the formatted output adds the standard grouping.
Common mistakes in IBAN handling
Removing spaces and storing the raw string without reformatting — the grouped format is easier for humans to read and verify
Assuming a valid checksum means the account exists — mod-97 confirms the IBAN is well-formed, not that the bank or account is real
Truncating long IBANs to fit database columns — some IBANs are up to 34 characters and must be stored in full
Confusing the IBAN check digits with the account number — positions 3 and 4 are the checksum, not part of the domestic account number
Edge cases in IBAN validation
Non-SEPA IBANs still pass the mod-97 checksum if it is correct, but the length validation may flag them because the tool only has expected lengths for 30+ SEPA countries. The algorithm itself is universal — any valid IBAN worldwide will pass the mod-97 check regardless of whether its country is in the length lookup table. IBANs containing lowercase letters are normalized to uppercase before processing.
Who uses an IBAN validator
Accounts payable teams verifying supplier IBANs before executing international wire transfers
Fintech developers adding real-time IBAN validation to payment onboarding forms
Freelancers receiving cross-border payments who want to confirm their own IBAN is correctly formatted before sharing it
Compliance officers checking that collected IBANs match the expected country for anti-money-laundering reviews
Frequently asked questions
Q: Which countries are supported?
A: 30+ SEPA countries with their expected IBAN lengths. The mod-97 checksum works for any IBAN worldwide, but length validation is country-aware for the supported set.
Q: What is the mod-97 algorithm?
A: Move the first 4 characters (country code and check digits) to the end of the string. Convert all letters to numbers (A=10, B=11, through Z=35). The resulting integer must have a remainder of 1 when divided by 97.
Q: Does it verify that the bank account actually exists?
A: No — only the format and checksum. Real verification that the account is active and belongs to the stated holder requires a bank directory lookup or a confirmation transfer.
Q: Is my IBAN uploaded to any server?
A: No. Validation happens entirely in your browser with no data transmission.
Q: What if my country is not in the supported list?
A: The mod-97 checksum still runs and will correctly validate any well-formed IBAN. Only the country-specific length check is limited to the 30+ supported SEPA countries.
Q: Why are IBANs formatted with spaces?
A: The standard format groups IBANs into blocks of 4 characters for readability. This makes it easier for humans to verify the number and reduces transcription errors.
Validate your IBAN now
Check any international bank account number with the IBAN Validator. For related validators, see the Email Validator, Credit Card Validator, or ISBN Validator.