Complete IBAN Guide & Documentation

Master IBAN Calculation

Everything you need to know about International Bank Account Numbers: calculation, validation, troubleshooting, and country-specific formats for 60+ countries.

60+ Countries
ISO 13616 Standard
MOD-97 Algorithm

Understanding IBANs

Learn the fundamentals of International Bank Account Numbers and why they're essential for global banking.

What is an IBAN?

The International Bank Account Number (IBAN) is a standardized system for identifying bank accounts across 88 countries. Established by the ISO 13616 standard, it reduces errors in cross-border transactions.

Key Benefits:

  • • Reduces transcription errors by up to 97%
  • • Standardizes international payments
  • • Contains built-in validation via check digits
  • • Enables automated payment processing
IBAN Structure

An IBAN consists of up to 34 alphanumeric characters with four key components:

1
Country Code (2 letters)
ISO 3166-1 alpha-2 (e.g., DZ, FR, DE)
2
Check Digits (2 digits)
MOD-97 validation (always 02-98)
3
BBAN - Basic Bank Account Number
Country-specific format (up to 30 chars)
Example: Algeria IBAN
DZ7500123456001234567890

The MOD-97 Algorithm

Understanding how IBAN check digits are calculated using the ISO 7064 MOD-97-10 algorithm.

Step-by-Step Calculation
Learn how to calculate IBAN check digits manually using a fictional Algeria account example: 123456001234567890
1
Construct the BBAN
For Algeria: Bank(3) + Branch(5) + Account(10) + National(2)
00 + 300 + 25200 + 0246920106
2
Create temporary IBAN
Country + "00" + BBAN
DZ00 + 00123456001234567890
3
Rearrange
Move first 4 chars to end
00123456001234567890 + DZ00
4
Replace letters
D=13, Z=35 (A=10, B=11, ..., Z=35)
001234560012345678901335000
5
Calculate MOD 97
Remainder when divided by 97
001234560012345678901335000 mod 97 = 23
6
Final check digits
98 - remainder = check digits
98 - 23 = 75
Final Result
DZ7500123456001234567890

This matches the expected result, confirming our algorithm works correctly for Algeria.

Error Detection Capabilities
What types of errors can the MOD-97 algorithm detect?
100% Detection Rate
  • • Single character substitution (4234 → 1234)
  • • Adjacent character transposition (12354 → 12345)
  • • String shifting (left or right)
  • • Character omission or duplication
High Detection Rate
  • • Double substitution errors (97%+ detection)
  • • Non-adjacent transposition (95%+ detection)
  • • Multiple random errors (varies by pattern)

Country-Specific Formats

IBAN structures vary by country. Here are the most commonly requested formats and troubleshooting scenarios.

🇩🇿 Algeria (DZ)
24 characters • Full generation supported
BBAN Structure:
National(2) + Bank(3) + Branch(5) + Account(10)
Example:
DZ7500123456001234567890
🇫🇷 France (FR)
27 characters • Full generation supported
BBAN Structure:
Bank(5) + Branch(5) + Account(11) + RIB(2)
Example:
FR1420041010050500013M02606
🇩🇪 Germany (DE)
22 characters • Full generation supported
BBAN Structure:
BLZ(8) + Account(10)
Example:
DE89370400440532013000
Complete Country Coverage
We support validation for 88 countries. Here's our current coverage:

Full Support (Generation + Validation)

DZ - AlgeriaFR - FranceDE - GermanyGB - UKES - Spain

Validation Only (83 Additional Countries)

Including: IT, MA, TN, SA, AE, EG, AT, BE, CH, NL, SE, NO, DK, FI, and 69 more countries across Europe, Middle East, Africa, and the Caribbean.

Troubleshooting & FAQs

Common issues and solutions based on real user problems and edge cases.

Common Error: Wrong Check Digits for Algeria
Problem: Input "123456001234567890" returns incorrect check digits

Root Cause Analysis:

  1. BBAN Structure Misunderstanding: Algeria uses National(2) + Bank(3) + Branch(5) + Account(10) = 20 digits
  2. Missing National Check: Input has 18 digits, missing the 2-digit national RIB key
  3. Incorrect Parsing: System treated the input as bank+branch+account without national prefix

Solution:

We've fixed the BBAN construction to properly handle Algeria's format:

Input: 123456001234567890 (18 digits)
Correct BBAN: 00 + 123 + 45600 + 1234567890 (20 digits)
Result: DZ75-00123456001234567890 ✅
🔍 Validation Issues

IBAN shows as invalid

  • • Check the country code (2 letters)
  • • Verify total length matches country standard
  • • Ensure no spaces or special characters
  • • Confirm check digits are numeric (02-98)

Length mismatch errors

  • • Algeria: exactly 24 characters
  • • France: exactly 27 characters
  • • Germany: exactly 22 characters
  • • Each country has fixed IBAN length
⚙️ Generation Issues

Missing bank/branch codes

  • • Germany requires 8-digit BLZ code
  • • UK needs 4-digit bank + 6-digit sort code
  • • France needs 5-digit bank + branch codes
  • • Contact your bank for correct codes

Country not supported for generation

  • • Use validation-only mode
  • • Get complete IBAN from your bank
  • • Request support via contact form
  • • Check for updates regularly
Comprehensive FAQ

🔒 Is my banking data secure?

Absolutely! All IBAN calculations happen locally in your browser. We never send account numbers, IBANs, or sensitive data to our servers. Only anonymous usage statistics (country, success/failure) are collected to improve the service.

🌍 Which countries are supported?

We support validation for all 88 IBAN countries according to theISO 13616 standard. IBAN generation (from account numbers) is available for popular countries like Algeria, France, Germany, UK, and Spain.

🔢 Can I calculate IBAN from just my account number?

It depends on the country. Algeria allows calculation from account numbers (if they include bank/branch codes). Other countries like Germany require additional information like BLZ codes, and UK needs sort codes.

🏦 What if my country isn't supported for generation?

You can still use our validator with complete IBANs. For generation support, contact your bank for the complete IBAN, or submit a request via our contact form. We regularly add new countries based on user demand.

❌ Why does validation fail for a bank-issued IBAN?

Bank-issued IBANs should always be valid. If validation fails, check for typos, ensure correct country format, or contact your bank. Some banks may use internal formats that differ from standard IBAN specifications.

🔄 How often is the country data updated?

We regularly sync with theSWIFT IBAN Registryand monitor ISO 13616 updates. New countries and format changes are added within weeks of official announcements.