SpeedDrain
ISO 13616 · ISO 7064 Modulo 97-10 · SEPA Compliance

IBAN Validator & Calculator

Validate International Bank Account Numbers for cross-border SEPA wire transfers. Verify mathematical checksums, inspect bank routing codes, and compute valid check digits.

Sample IBANs:
Characters: 22
Valid IBAN (Checksum Matched)
Modulo 97 remainder is 1. Matches ISO 13616 standard.
✓ VALID

Deconstructed Structure (BBAN)

Country CodeDE (Germany)
Check Digits89
Bank Code / Routing37040044
Account Number0532013000
Raw BBAN370400440532013000

Standard Output Formats

Print Format (4-Char Groups)
DE89 3704 0044 0532 0130 00
Electronic Format (Compact)
DE89370400440532013000

Calculate Valid Check Digits from BBAN

Generated Valid IBAN:DE89 3704 0044 0532 0130 00

International Banking Standards: ISO 13616 & The Modulo 97 Checksum

The ISO 7064 Modulo 97-10 Algorithm

To prevent misrouted funds, the European Committee for Banking Standards established the Modulo 97 validation routine:

  • Step 1: Move the initial 4 characters (2-letter country code + 2 check digits) to the very end of the string.
  • Step 2: Convert every letter into a 2-digit number where $A=10, B=11, \dots, Z=35$.
  • Step 3: Treat the resulting string as a single massive integer and calculate the remainder divided by 97.
  • Step 4: If and only if the remainder equals 1 ($N \equiv 1 \pmod97$), the IBAN is valid.

IBAN Structure & Country Length Variations

While an IBAN cannot exceed 34 alphanumeric characters, each country maintains a fixed length:

  • Germany (DE): Exactly 22 characters (Bank Code 8 digits, Account Number 10 digits).
  • United Kingdom (GB): Exactly 22 characters (4-letter Bank ID, 6-digit Sort Code, 8-digit Account).
  • France (FR): Exactly 27 characters.
  • Netherlands (NL): Exactly 18 characters (4-letter Bank Code + 10-digit Account).

Electronic vs. Print Representation

In electronic communications (SWIFT MT103, ISO 20022 XML), IBANs must be presented without spaces (e.g. DE89370400440532013000). On paper invoices and bank statements, spaces are inserted after every 4 characters (e.g. DE89 3704 0044 0532 0130 00) to enhance human readability.