Skip to main content
CodeLint.Dev Dev Tools

IBAN Validator — Structure & Checksum

Validate an IBAN’s country structure, length and mod-97 checksum.

IBAN Validator

ISO 13616 mod-97 checksum · 77 countries · validate multiple IBANs at once

Examples:
Enter one or more IBAN numbers above to validate.

The mod-97 check

Defined by ISO 13616 and ISO 7064. Unusually strong for a checksum — it catches essentially every realistic typing error.

Move the first 4 characters to the end; convert letters to numbers (A=10 … Z=35); the resulting integer mod 97 must equal 1

Step 1
Remove spaces and uppercase the whole string
Step 2
Move the first four characters (country code + check digits) to the end
Step 3
Replace each letter with its position value: A=10, B=11 … Z=35
Step 4
Interpret as a large integer and take mod 97

Worked example

IBAN
GB82 WEST 1234 5698 7654 32
Rearranged
WEST12345698765432GB82
Letters converted
3214282912345698765432161182
mod 97
1

Valid

Because 97 is prime and the whole account number participates, mod-97 detects all single-character errors and all transpositions of adjacent characters. The probability of a random invalid IBAN passing is roughly 1 in 97.

About

The IBAN Validator performs full ISO 13616 validation on one or more International Bank Account Numbers simultaneously. For each IBAN entered, it checks the country code against all 77 supported IBAN nations, verifies the correct total length for that country, and runs the mod-97 checksum (rearrange → convert letters to digits → divide by 97 → remainder must equal 1). Valid IBANs display formatted with spaces every 4 characters, plus the decoded country name, check digits, and BBAN. Invalid IBANs show a specific error explaining which step failed. Everything runs in your browser — no IBAN data is ever sent anywhere.

How to use

  1. 1 Paste or type an IBAN into the input field — spaces and dashes are stripped automatically.
  2. 2 Click "+ Add another IBAN" to validate multiple IBANs at the same time.
  3. 3 Use the example buttons to load sample IBANs from Germany, UK, France, Netherlands, and Switzerland.
  4. 4 Each IBAN shows a green check (valid) or red cross (invalid) with a specific error message if invalid.
  5. 5 Valid IBANs display the formatted version (4-character groups), country name, check digits, and BBAN.
  6. 6 Remove individual rows with the ✕ button when validating a batch.
How does IBAN mod-97 validation work?
The algorithm: (1) Move the first four characters (country code + check digits) to the end of the string. (2) Replace each letter with its numeric equivalent: A=10, B=11, …, Z=35. (3) Interpret the resulting string as a large integer and compute its remainder when divided by 97. A valid IBAN always produces a remainder of 1. The two check digits at positions 3–4 are chosen during IBAN creation so that this remainder equals 1, making single-digit errors and most transposition errors detectable.
Which countries use IBAN?
IBAN is mandatory within SEPA (the Single Euro Payments Area, covering 36 European countries) and is also used in many Middle Eastern and North African countries. This tool supports all 77 countries recognised by the ISO 13616 standard. Major countries that do NOT use IBAN include the USA, Canada, Australia, New Zealand, China, Japan, India, and most of Southeast Asia — those countries use routing numbers, BSB codes, IFSC codes, or other local account identifiers instead.
Can a valid IBAN still be rejected by a bank?
Yes. IBAN validation only checks the mathematical structure of the number — it does not verify that the account actually exists or is active, that the account holder name matches, or that the bank is reachable. Banks can reject a valid IBAN if the account is closed, the IBAN belongs to a different customer name than expected (required for some payment types), or if there is a sanctions or compliance hold on the account. Always confirm account details directly with the recipient before making a payment.