IBAN Validator

Validate IBAN numbers with checksum verification

Understanding IBAN
TL;DR

An IBAN (International Bank Account Number) is a standardized format for identifying bank accounts across borders. It combines a country code, check digits, and domestic account details into a single string validated by the MOD-97 algorithm.

What is an IBAN?

An IBAN (International Bank Account Number) is an internationally standardized system for identifying bank accounts across national borders. Introduced under ISO 13616, IBANs were designed to reduce errors in cross-border transactions by providing a uniform account numbering format.

Before IBANs, each country had its own domestic account number format, leading to frequent mistakes when processing international wire transfers. The IBAN system solves this by embedding the domestic account details inside a structured envelope that includes built-in error detection.

How IBAN Validation Works

Every IBAN is validated using the MOD-97 algorithm (ISO 7064). The process works as follows:

  1. Move the first four characters (country code + check digits) to the end of the string
  2. Convert all letters to numbers (A=10, B=11, …, Z=35)
  3. Compute the remainder of the resulting number divided by 97
  4. If the remainder equals 1, the IBAN is valid

This algorithm catches over 99% of single-character errors and all transposition errors, making it extremely reliable for automated validation.

IBAN Structure

Every IBAN follows the same high-level structure:

ComponentLengthExample (FR)Description
Country code2 lettersFRISO 3166-1 alpha-2 country code
Check digits2 digits76MOD-97 checksum for error detection
BBANVariable30006000011234567890189Basic Bank Account Number (domestic format)

The BBAN (Basic Bank Account Number) varies by country. For France, it consists of:

  • Bank code (5 digits)
  • Branch code (5 digits)
  • Account number (11 characters)
  • National check digit (2 digits)

For Germany, the BBAN is simpler: a bank code (8 digits) followed by an account number (10 digits).

Country Lengths

CountryCodeIBAN Length
FranceFR27
GermanyDE22
United KingdomGB22
SpainES24
NetherlandsNL18
BelgiumBE16
NorwayNO15

Common Use Cases

  • International wire transfers (SEPA): IBANs are mandatory for all SEPA payments within the European Economic Area
  • Salary payments: Employers use IBANs to credit wages to employee bank accounts
  • Direct debits: Utility companies and subscription services use IBANs for recurring payments
  • Invoice payments: Businesses include their IBAN on invoices for smooth cross-border settlement
  • Account verification: Financial platforms validate IBANs during onboarding to ensure correct bank details

Try These Examples

Valid French IBAN Valid

A valid French IBAN with 27 characters, Société Générale bank code (30006), and correct MOD-97 checksum (check digits 76).

FR7630006000011234567890189
Valid German IBAN Valid

A valid German IBAN with 22 characters. Deutsche Bank (37040044) with correct check digits (89).

DE89370400440532013000
Invalid Checksum Invalid

Same structure as a valid French IBAN, but the last digit has been changed from 9 to 0, making the MOD-97 checksum invalid.

FR7630006000011234567890180
Too Short Invalid

A truncated IBAN that does not meet the minimum length requirement for France (27 characters).

FR76300060