Skip links

IBAN Format by Country: Complete Guide to Structure, Validation & Bank Lookup

1. What Is an IBAN?

An IBAN (International Bank Account Number) is a standardized code that identifies a bank account across national borders. It was created to reduce errors in cross-border payments and give banks a single, reliable way to route money to the correct account.

The standard is defined under ISO 13616 and managed by SWIFT (the Society for Worldwide Interbank Financial Telecommunication). As of December 2024, 89 countries have adopted the IBAN system.

Before IBAN existed, every country had its own format for bank account numbers. A payment from Germany to France required different routing codes, account number formats, and validation rules. Errors were common. Payments bounced. Banks charged fees.

IBAN solved this by wrapping the domestic account number inside a universal format. One string. One validation algorithm. Works everywhere.

2. IBAN Structure Breakdown

Every IBAN follows the same basic structure, regardless of country. It consists of four parts:


The bank identifier and account number together form the BBAN (Basic Bank Account Number). The BBAN format is different in every country — which is why IBAN lengths vary from 15 characters (Norway) to 34 characters (Malta).

When transmitted electronically, IBANs have no spaces. When printed or displayed for humans, they’re grouped in blocks of four characters for readability: DE89 3704 0044 0532 0130 00

3. How IBAN Validation Works

IBAN validation isn’t a single check. It’s a series of layers, each catching different types of errors.

Layer 1: Format Check

The first check confirms the IBAN uses only valid characters (A–Z, 0–9), starts with a recognized two-letter country code, and matches the correct length for that country. A German IBAN must be exactly 22 characters. A French IBAN must be 27. One character too many or too few, and the IBAN fails.

Layer 2: Check Digit Validation (MOD-97)

This is the core mathematical check. The algorithm works like this:

  1. Move the first four characters (country code + check digits) to the end of the string
  2. Replace each letter with two digits (A = 10, B = 11, … Z = 35)
  3. Divide the resulting number by 97
  4. If the remainder is 1, the IBAN is valid

This catches single-character errors (typos) and transposition errors (two characters swapped) with near-100% reliability.

Layer 3: Structure Validation

Each country defines which positions in the BBAN should be letters and which should be numbers. Germany uses only numbers in its BBAN. France mixes numbers and letters. The structure check confirms each character is in the right position.

Layer 4: Bank Code Lookup

The bank code embedded in the IBAN is cross-referenced against a directory of known financial institutions. This returns the bank name, BIC/SWIFT code, and branch details. If the bank code doesn’t match any known institution, the IBAN may be fabricated.

⚠️ Critical distinction: All four layers above confirm that an IBAN could exist. None of them confirm that the IBAN belongs to the person or company you’re trying to pay. That requires account ownership verification — a separate step entirely.

4. IBAN Format by Country (Complete Reference Table)

Every country that uses IBAN has a fixed length and format. Here’s the complete reference for major IBAN-enabled countries, organized by region.

Western Europe

Country Code Length IBAN Example SEPA
Germany DE 22 DE89 3704 0044 0532 0130 00
France FR 27 FR76 3000 6000 0112 3456 7890 189
United Kingdom GB 22 GB29 NWBK 6016 1331 9268 19
Italy IT 27 IT60 X054 2811 1010 0000 0123 456
Spain ES 24 ES91 2100 0418 4502 0005 1332
Netherlands NL 18 NL91 ABNA 0417 1643 00
Belgium BE 16 BE68 5390 0754 7034
Switzerland CH 21 CH93 0076 2011 6238 5295 7
Austria AT 20 AT61 1904 3002 3457 3201
Portugal PT 25 PT50 0002 0123 1234 5678 9015 4
Ireland IE 22 IE29 AIBK 9311 5212 3456 78
Luxembourg LU 20 LU28 0019 4006 4475 0000

 

Eastern Europe

Country Code Length IBAN Example SEPA
Poland PL 28 PL61 1090 1014 0000 0712 1981 2874
Czech Republic CZ 24 CZ65 0800 0000 1920 0014 5399
Romania RO 24 RO49 AAAA 1B31 0075 9384 0000
Hungary HU 28 HU42 1177 3016 1111 1018 0000 0000
Bulgaria BG 22 BG80 BNBG 9661 1020 3456 78
Croatia HR 21 HR12 1001 0051 8630 0016 0
Slovakia SK 24 SK31 1200 0000 1987 4263 7541
Estonia EE 20 EE38 2200 2210 2014 5685
Latvia LV 21 LV80 BANK 0000 4351 9500 1
Lithuania LT 20 LT12 1000 0111 0100 1000
Slovenia SI 19 SI56 2633 0001 2039 086
Serbia RS 22 RS35 2600 0560 1001 6113 79
Moldova MD 24 MD24 AG00 0225 1000 1310 4168
Ukraine UA 29 UA21 3996 2200 0002 6007 2335 6600 1

 

Nordic & Baltic

Country Code Length IBAN Example SEPA
Sweden SE 24 SE45 5000 0000 0583 9825 7466
Norway NO 15 NO93 8601 1117 947
Denmark DK 18 DK50 0040 0440 1162 43
Finland FI 18 FI21 1234 5600 0007 85
Iceland IS 26 IS14 0159 2600 7654 5510 7303 39

 

Middle East & Africa

Country Code Length IBAN Example SEPA
United Arab Emirates AE 23 AE07 0331 2345 6789 0123 456
Saudi Arabia SA 24 SA03 8000 0000 6080 1016 7519
Qatar QA 29 QA58 DOHB 0000 1234 5678 90AB CDEFG
Bahrain BH 22 BH67 BMAG 0000 1299 1234 56
Kuwait KW 30 KW81 CBKU 0000 0000 0000 1234 5601 01
Israel IL 23 IL62 0108 0000 0009 9999 999
Turkey TR 26 TR33 0006 1005 1978 6457 8413 26
Tunisia TN 24 TN59 1000 6035 1835 9847 8831

 

Americas & Other

Country Code Length IBAN Example SEPA
Brazil BR 29 BR18 0036 0305 0000 1000 9795 493C 1
Costa Rica CR 22 CR05 0152 0200 1026 2840 66
Dominican Republic DO 28 DO28 BAGR 0000 0001 2124 5361 1324
Guatemala GT 28 GT82 TRAJ 0102 0000 0012 1002 9690
El Salvador SV 28 SV62 CENR 0000 0000 0000 0070 0025
Egypt EG 29 EG38 0019 0005 0000 0000 2631 8000 2
Pakistan PK 24 PK36 SCBL 0000 0011 2345 6702

 

💡 This is not an exhaustive list. As of late 2024, 89 countries are in the official IBAN registry managed by SWIFT. MonitorPay supports IBAN validation for all registered countries, plus extended coverage through its network of 200+ official data sources.

5. Countries That Don’t Use IBAN

Several major economies have not adopted IBAN. If you’re processing global payments, you need to know what they use instead.

Country Account Format Used Details
United States ABA Routing Number + Account Number 9-digit routing number identifies the bank; account numbers vary in length
Canada Transit + Institution + Account 5-digit transit, 3-digit institution code, plus account number
Australia BSB + Account Number 6-digit BSB code identifies the bank and branch
India IFSC + Account Number 11-character Indian Financial System Code identifies the branch
China CNAPS Code + Account Number China National Advanced Payment System routing code
Japan Zengin Code + Account Number 7-digit code (4 bank + 3 branch) used for domestic transfers
South Korea Bank Code + Account Number 3-digit bank code with variable-length account numbers

 

For payments to these countries, you’ll need the correct local routing format plus a SWIFT/BIC code for international transfers. IBAN validation tools won’t help here — you need a provider that supports both IBAN and non-IBAN account validation.

6. How to Identify the Issuing Bank from an IBAN

The bank code is embedded inside every IBAN. Its position and length depend on the country.

Country Bank Code Position Example Code Bank Name
Germany (DE) Characters 5–12 (8 digits) 37040044 Commerzbank
UK (GB) Characters 5–8 (4 letters) NWBK NatWest
France (FR) Characters 5–9 (5 digits) 30006 Société Générale
Spain (ES) Characters 5–8 (4 digits) 2100 CaixaBank
Netherlands (NL) Characters 5–8 (4 letters) ABNA ABN AMRO

When you validate an IBAN through an API, the response typically includes the bank’s full name, BIC/SWIFT code, branch address, and SEPA payment capabilities. This data comes from cross-referencing the bank code against official bank directories.

This lookup is essential for two reasons: it confirms the IBAN points to a real, active financial institution, and it gives your team the routing data needed to execute the payment correctly.

7. SEPA vs. Non-SEPA IBANs: What’s the Difference?

SEPA (Single Euro Payments Area) is a payment integration zone covering 36 European countries. Within SEPA, cross-border euro payments are treated the same as domestic ones — same rules, same speed, same cost.

Feature SEPA IBAN Non-SEPA IBAN
Payment types SCT (Credit Transfer), SDD (Direct Debit), Instant Standard wire transfer only
Processing speed Same-day or instant (within SEPA zone) 1–5 business days
Cost Domestic pricing applies International wire fees
Regulation EU Payment Services Directive (PSD2) Local regulations
VoP requirement Mandatory as of October 2025 Not required

If you’re processing payments within Europe, knowing whether an IBAN belongs to a SEPA member determines your processing options, costs, and compliance requirements.

8. Common IBAN Validation Errors (And How to Fix Them)

These are the errors teams encounter most often when processing IBANs. Most are preventable with proper validation at the point of data entry.

Error Cause Fix
Wrong length Extra or missing character. Often caused by copy-paste errors that include spaces. Strip all spaces before validation. Check against the country’s required length.
Invalid check digits Typo in the IBAN that causes MOD-97 to fail. Re-enter the IBAN. If persistent, request a new IBAN from the account holder.
Unknown country code First two characters don’t match any IBAN-enabled country. Confirm the country uses IBAN. If not (US, Canada, etc.), use local format validation.
SWIFT/BIC confused with IBAN User enters an 8- or 11-character BIC code instead of the IBAN. Add input validation that checks string length and format before processing.
Lowercase characters IBAN spec requires uppercase letters. Some forms allow lowercase input. Auto-convert to uppercase before validation.
Bank code not found IBAN passes format checks but the bank identifier doesn’t exist in the directory. May indicate a recently created bank or a fabricated IBAN. Flag for manual review.
✅ Best practice: Validate IBANs at the point of entry — not at the point of payment. Catching errors when a vendor submits their bank details (during onboarding) is far cheaper than catching them when a payment bounces.

9. Why Format Validation Alone Won’t Protect Your Payments

Here’s the gap most companies miss: a valid IBAN doesn’t mean you’re paying the right person.

IBAN validation confirms that the account number is correctly formatted and points to a real bank. It says nothing about who owns the account.

This is exactly how payment fraud works. A fraudster sends you an invoice with updated bank details. The IBAN passes every format check. The bank code is real. The check digits compute correctly. But the account belongs to a mule, not your supplier.

Metric Data
Organizations hit by payment fraud in 2024 79% (AFP 2025 Survey)
BEC cost to businesses over the last decade $55.5 billion (FBI)
Global digital payment fraud cost (2025) $50+ billion
#1 fraud vector Business Email Compromise (63% of orgs targeted)

To close the gap between “valid format” and “safe payment,” you need two additional layers:

Payee Name Matching — checking whether the account holder’s name matches the name on the invoice. This became mandatory across the EU under Verification of Payee (VoP) regulations in October 2025.

Account Ownership Verification — confirming who legally owns the bank account using official registry or banking data. This catches sophisticated fraud that name matching alone might miss.

10. How MonitorPay Validates IBANs Across 150+ Countries

MonitorPay (monitorpay.ai) goes beyond basic format checks. It combines IBAN validation with account ownership verification — powered by data from 200+ official government registries worldwide.

Here’s what happens when you send an IBAN to MonitorPay’s API:

Check What It Does Why It Matters
IBAN Structure Validation Confirms format, length, check digits, and country code Catches typos and formatting errors instantly
Bank & BIC Lookup Returns bank name, SWIFT/BIC, branch, and SEPA capabilities Verifies the IBAN points to a real financial institution
Payee Name Matching Fuzzy matching with confidence scoring and transliteration support Meets VoP compliance requirements; catches name mismatches
Account Ownership Verification Confirms the legal owner of the account from official registries The final fraud prevention layer — blocks misdirected payments
Continuous Monitoring Tracks verified accounts over time; alerts on changes Detects ownership changes, closed accounts, or fraud signals

MonitorPay’s API returns structured JSON data in sub-second response times. Most teams integrate it in less than a day. And it covers the entire verification chain — from initial format check to ongoing monitoring — through a single endpoint.

Frequently Asked Questions

  1. What is IBAN validation?
    IBAN validation is the process of checking whether an International Bank Account Number is correctly formatted, has valid check digits, and corresponds to a real financial institution. It catches typos, formatting errors, and fabricated account numbers before you initiate a payment.
  1. How many countries use IBAN?
    As of December 2024, 89 countries have officially adopted the IBAN standard. These include all of Europe, most of the Middle East, parts of Africa, and a small number of countries in the Americas (Brazil, Costa Rica, Dominican Republic, Guatemala, El Salvador). Major economies like the US, Canada, Australia, and most of Asia do not use IBAN.
  1. What does an IBAN look like?
    An IBAN is a string of up to 34 alphanumeric characters. It always starts with a two-letter country code, followed by two check digits, and then the domestic bank account number (BBAN). For example, a German IBAN looks like this: DE89 3704 0044 0532 0130 00. The exact length depends on the country — Germany uses 22 characters, France uses 27, and Norway uses just 15.
  1. How do I validate an IBAN manually?
    You can validate the check digits using the MOD-97 algorithm: move the first four characters to the end, convert all letters to numbers (A=10, B=11, etc.), divide the entire number by 97. If the remainder is 1, the IBAN is valid. However, manual validation only checks the checksum — it won’t verify the bank code, country-specific structure, or account ownership. For production use, an API is the reliable choice.
  1. Can you identify the bank from an IBAN?
    Yes. Every IBAN contains a bank code within its BBAN section. The position and length of this code varies by country. When you run the IBAN through a validation API like MonitorPay, it returns the bank’s full name, BIC/SWIFT code, branch address, and SEPA payment capabilities.
  1. Does the United States use IBAN?
    No. The US uses ABA routing numbers (9 digits) combined with domestic account numbers for bank transfers. For international payments to US accounts, you’ll need the bank’s SWIFT/BIC code plus the account and routing numbers. There are no current plans for the US to adopt IBAN.
  1. What’s the difference between IBAN and SWIFT/BIC?
    An IBAN identifies a specific bank account. A SWIFT/BIC code identifies a financial institution (and optionally a branch). You can think of SWIFT as the bank’s address and IBAN as your specific mailbox at that address. For international payments, you often need both. Within the SEPA zone, the IBAN alone is sufficient.
  1. What happens if I send money to an invalid IBAN?
    If the IBAN fails format validation, most banks will reject the payment before it’s processed. If the IBAN is formatted correctly but the account doesn’t exist or is closed, the payment will bounce. This typically takes 1–5 business days, and your bank will charge a return fee (usually €5–€25 for SEPA, more for international wires).
  1. Is IBAN validation enough to prevent payment fraud?
    No. IBAN validation confirms the account number is real. It does not confirm who owns the account. Business Email Compromise (BEC) scams exploit this gap — fraudsters provide valid IBANs that belong to mule accounts. To prevent fraud, you need to add payee name matching and account ownership verification on top of IBAN validation. This is now mandatory in the EU under Verification of Payee (VoP) regulations.
  1. How does MonitorPay validate IBANs differently from free tools?
    Free IBAN checkers only validate format and check digits — the equivalent of checking if an email address has an @ symbol. MonitorPay goes further: it validates the bank code against official directories, matches payee names using intelligent fuzzy matching, verifies account ownership from government and banking registries, and offers continuous monitoring for changes. It’s a complete verification chain, not just a format check.