Glossary

IBAN (International Bank Account Number)

The International Bank Account Number is a standardized format for identifying bank accounts across borders in 80+ countries.

Key Takeaways

  • An IBAN is a standardized account identifier used in 80+ countries: it combines a country code, two check digits, and a domestic bank account number (BBAN) into a single string of up to 34 characters, reducing errors in wire transfers and cross-border payments.
  • IBANs work alongside the SWIFT network: SWIFT codes identify banks, while IBANs identify specific accounts. Both are typically required for international transfers through correspondent banking chains.
  • Major economies like the US, Canada, and Australia do not use IBAN: they rely on domestic systems such as ACH routing numbers and BSB codes, creating fragmentation in global payment routing that newer payment rails aim to solve.

What Is an IBAN?

An IBAN (International Bank Account Number) is a globally standardized format for identifying bank accounts across national borders. Defined by the ISO 13616 standard and maintained by SWIFT as the registration authority, the IBAN system was designed to reduce transcription errors and streamline cross-border payment processing.

The system originated with the European Committee for Banking Standards (ECBS) in the 1990s and was adopted as an international standard in 1997. It became mandatory for domestic transactions within the European Union by 2014, and has since expanded well beyond Europe to include countries in the Middle East, the Caribbean, parts of Africa, and South America.

Think of an IBAN as a universal address for a bank account: just as a postal address follows a structured format (country, city, street, number) to ensure mail reaches the right destination, an IBAN encodes the country, bank, branch, and account number into a single machine-readable string.

How It Works

Every IBAN follows the same top-level structure, regardless of which country issued it. The format consists of three parts:

  1. Country code (2 letters): an ISO 3166-1 alpha-2 code identifying the country where the account is held (for example, DE for Germany, GB for the United Kingdom, FR for France)
  2. Check digits (2 numbers): calculated using the MOD-97 algorithm defined in ISO 7064, these digits allow any system to verify the IBAN's integrity before submitting a transaction
  3. BBAN (Basic Bank Account Number): up to 30 alphanumeric characters containing the domestic bank identifier, branch code, and account number in a format determined by each country's national banking authority

IBAN Format Examples

IBAN length varies by country because each nation defines its own BBAN structure. Here are some examples:

CountryLengthExample Format
Germany (DE)22DE89 3704 0044 0532 0130 00
United Kingdom (GB)22GB29 NWBK 6016 1331 9268 19
France (FR)27FR76 3000 6000 0112 3456 7890 189
Norway (NO)15NO93 8601 1117 947
Saudi Arabia (SA)24SA03 8000 0000 6080 1016 7519

Notice that a German IBAN embeds the 8-digit Bankleitzahl (bank code) and a 10-digit account number, while a UK IBAN includes the 6-digit sort code within its BBAN. Each country's format reflects its existing domestic banking conventions.

The MOD-97 Validation Algorithm

The check digits are what make IBANs self-validating. Before a payment is submitted, any system can verify that the IBAN is correctly formed using the following process:

  1. Verify the total length matches the expected length for the country code
  2. Move the first four characters (country code + check digits) to the end of the string
  3. Replace each letter with its numeric equivalent (A = 10, B = 11, ... Z = 35)
  4. Interpret the result as a large integer and compute the remainder when divided by 97
  5. If the remainder is 1, the IBAN is valid
// IBAN validation example (pseudocode)
function validateIBAN(iban: string): boolean {
  // 1. Remove spaces, uppercase
  const clean = iban.replace(/\s/g, "").toUpperCase();

  // 2. Move first 4 chars to end
  const rearranged = clean.slice(4) + clean.slice(0, 4);

  // 3. Replace letters with numbers (A=10, B=11, ..., Z=35)
  let numeric = "";
  for (const char of rearranged) {
    if (char >= "A" && char <= "Z") {
      numeric += (char.charCodeAt(0) - 55).toString();
    } else {
      numeric += char;
    }
  }

  // 4. MOD-97 using piecewise calculation
  let remainder = 0;
  for (const digit of numeric) {
    remainder = (remainder * 10 + parseInt(digit)) % 97;
  }

  // 5. Valid if remainder === 1
  return remainder === 1;
}

The piecewise approach (processing one digit at a time) avoids integer overflow issues that would occur when trying to represent a 30+ digit number directly. Many countries also apply additional national check digit algorithms within their BBAN for extra error detection.

IBAN and SWIFT: Complementary Systems

A common source of confusion is the relationship between IBANs and SWIFT codes (also called BIC codes). They serve different purposes:

FeatureIBANSWIFT/BIC Code
IdentifiesA specific bank accountA bank or branch
Length15 to 34 characters8 or 11 characters
Adoption80+ countries200+ countries
PurposeAccount-level identificationBank-level routing and messaging

For most international transfers, both are required: the SWIFT code routes the payment message to the correct bank, while the IBAN identifies the recipient's specific account. Within SEPA transfers in Europe, the IBAN alone is often sufficient because the bank identifier is embedded in the BBAN portion.

Where IBAN Is (and Isn't) Used

IBAN adoption is widespread but not universal. As of 2024, approximately 89 countries have adopted the IBAN standard, with the registry maintained by SWIFT. Adoption falls into several categories:

  • Mandatory for all transfers: all EU and EEA member states require IBAN for both domestic and cross-border euro payments
  • Adopted for cross-border use: countries like Brazil, Saudi Arabia, Pakistan, and Israel use IBAN primarily for international transactions
  • Not adopted: the United States, Canada, Australia, China, India, Japan, and most of Southeast Asia do not use IBAN at all

The US relies on ABA routing numbers and account numbers for domestic ACH transfers and Fedwire. Canada uses transit numbers and institution codes. This fragmentation means that sending money between an IBAN country and a non-IBAN country often requires additional routing information and correspondent banking intermediaries, adding cost and delay.

IBAN vs. Crypto Addresses

Both IBANs and cryptocurrency addresses serve the same fundamental purpose: they are identifiers that tell a payment system where to send funds. But the similarities largely end there.

FeatureIBANCrypto Address
IssuerNational banking authorityGenerated by the user
Tied to identityYes (KYC required)No (pseudonymous by default)
ReusableYes (one per account)Varies (address reuse is discouraged for privacy)
Settlement speed1 to 3 business days (cross-border)Minutes to seconds depending on the network
IntermediariesBanks, correspondent chainsNone (peer-to-peer)
Operating hoursBusiness days only24/7

An IBAN is issued and controlled by a financial institution: you cannot create one yourself, and it is permanently linked to your verified identity. A crypto address, by contrast, can be generated by anyone with a seed phrase or HD wallet, requires no permission from any institution, and operates on networks that settle in minutes rather than days.

This distinction highlights a broader tension in global payments. IBAN-based transfers still depend on correspondent banking chains that add fees, delays, and counterparty risk. Blockchain-based payment rails, including Layer 2 networks like Spark, offer an alternative where settlement is near-instant and does not require intermediary banks.

Use Cases

Cross-Border Business Payments

The primary use case for IBAN is international business-to-business payments. When a company in Germany pays a supplier in France, both the supplier's IBAN and their bank's SWIFT code are used to route the payment correctly. Within the SEPA zone, these transfers settle in one business day with minimal fees.

Payroll and Recurring Transfers

Companies with employees across multiple IBAN countries can standardize their payroll systems around a single account format. The self-validating check digits catch typos before funds are sent, reducing failed payments and manual correction costs.

E-Commerce and Marketplace Payouts

Online marketplaces and payment platforms use IBANs to pay sellers and service providers across borders. The standardized format simplifies integration compared to handling dozens of different national account number formats individually.

Remittances

Migrant workers sending money home to IBAN countries can provide their family's IBAN to ensure the transfer reaches the correct account. However, remittances to non-IBAN countries often require alternative routing, which is one area where crypto on-ramps and off-ramps are providing faster and cheaper alternatives.

Risks and Considerations

No Universal Adoption

The biggest limitation of IBAN is that it is not truly global. Major economies including the United States, Canada, and most of Asia do not participate. This means international payments frequently involve a mix of IBAN and non-IBAN routing, requiring correspondent banks to bridge the gap. Each intermediary adds fees (typically $15 to $30 per hop) and processing time.

Validation Is Not Authorization

The MOD-97 check digit system catches transcription errors with high reliability, but it does not verify that an account is active, that it belongs to the expected recipient, or that the receiving bank will accept the payment. A valid IBAN can still point to a closed account or a frozen one.

Fraud and Social Engineering

Because IBANs are often shared openly (on invoices, contracts, and emails), they are vulnerable to interception. Business email compromise (BEC) attacks commonly involve replacing the legitimate IBAN on an invoice with a fraudulent one. Unlike crypto transactions where addresses can be verified on a public blockchain, there is no way for a sender to independently verify IBAN ownership without contacting the bank.

Settlement Speed

Even within SEPA, transfers take up to one business day. Cross-border transfers outside SEPA using IBAN and SWIFT can take 2 to 5 business days. Newer systems like Faster Payments, FedNow, and real-time payment networks are addressing domestic speed, but truly instant cross-border settlement remains a challenge for the traditional banking system. This is precisely the gap that blockchain-based settlement aims to fill.

Why It Matters for Digital Payments

The IBAN system represents the most successful attempt to standardize account identification across borders, but its limitations illustrate why the payments industry continues to evolve. Fragmented adoption, multi-day settlement times, and dependence on correspondent banking chains create friction that newer payment technologies are designed to eliminate.

For developers building dollar-denominated payment systems, understanding IBAN is essential: it remains the standard account identifier for the majority of banking systems worldwide, and any fiat on-ramp or off-ramp integration will need to handle IBAN formatting and validation. At the same time, the contrast between IBAN-based transfers (days, intermediaries, business hours) and crypto-native transfers (seconds, peer-to-peer, 24/7) highlights the opportunity for blockchain infrastructure to complement or replace traditional payment routing.

This glossary entry is for informational purposes only and does not constitute financial or investment advice. Always do your own research before using any protocol or technology.