ValidateFin
Back to blog
IBAN13 min readBy Eliel Nicaise

IBAN Format by Country: All 36 SEPA Countries

IBAN formats for all 36 SEPA countries: country codes, lengths, structure, example IBANs and mod-97 validation. A reference for finance teams and developers.

Validate your file right now

Free, instant and 100% in your browser - no file is ever uploaded.

Open the IBAN Validator

What is IBAN and Why Does the Format Vary by Country?

IBAN (International Bank Account Number) is an international standard (ISO 13616) for identifying bank accounts across national borders. It consists of a 2-letter country code, 2 check digits, and a country-specific BBAN (Basic Bank Account Number) of varying length. The total IBAN length varies from 15 characters (Norway) to 31 characters (Malta) depending on the country's BBAN structure; ISO 13616 permits a maximum of 34 characters.

The check digits (positions 3-4) let you validate an IBAN with the mod-97 algorithm (ISO 7064): move the 4-character country code and check digits to the end of the string, convert letters to numbers (A=10 ... Z=35), and take the result modulo 97 - a valid IBAN yields a remainder of 1. (The check digits themselves are generated by placing 00 in their position and computing 98 minus the remainder.) This checksum catches the majority of data entry errors including transposed digits and wrong country codes.

IBAN is mandatory for all SEPA credit transfers and direct debits. The 36 SEPA member countries (27 EU members plus Norway, Iceland, Liechtenstein, Switzerland, UK, Monaco, San Marino, Andorra, Vatican) all use IBAN. Many non-SEPA countries (Middle East, North Africa, Caribbean) have also adopted IBAN for international payment routing.

IBAN Format Reference Table (All SEPA Countries)

Complete reference of IBAN formats for every supported country: total length, BBAN length and a validated example IBAN. Click any country to open its dedicated validator and structure breakdown.

CountryCountry codeLengthBBANExample
AndorraAD2420AD12 0001 2030 2003 5910 0100
AustriaAT2016AT61 1904 3002 3457 3201
BelgiumBE1612BE68 5390 0754 7034
BrazilBR2925BR18 0036 0305 0000 1000 9795 493C 1
BulgariaBG2218BG80 BNBG 9661 1020 3456 78
CroatiaHR2117HR12 1001 0051 8630 0016 0
CyprusCY2824CY17 0020 0128 0000 0012 0052 7600
CzechiaCZ2420CZ65 0800 0000 1920 0014 5399
DenmarkDK1814DK50 0040 0440 1162 43
EstoniaEE2016EE38 2200 2210 2014 5685
FinlandFI1814FI21 1234 5600 0007 85
FranceFR2723FR14 2004 1010 0505 0001 3M02 606
GermanyDE2218DE89 3704 0044 0532 0130 00
GibraltarGI2319GI75 NWBK 0000 0000 7099 453
GreeceGR2723GR16 0110 1250 0000 0001 2300 695
HungaryHU2824HU42 1177 3016 1111 1018 0000 0000
IcelandIS2622IS14 0159 2600 7654 5510 7303 39
IrelandIE2218IE29 AIBK 9311 5212 3456 78
IsraelIL2319IL62 0108 0000 0009 9999 999
ItalyIT2723IT60 X054 2811 1010 0000 0123 456
LatviaLV2117LV80 BANK 0000 4351 9500 1
LiechtensteinLI2117LI21 0881 0000 2324 013A A
LithuaniaLT2016LT12 1000 0111 0100 1000
LuxembourgLU2016LU28 0019 4006 4475 0000
MaltaMT3127MT84 MALT 0110 0001 2345 MTLC AST0 01S
MonacoMC2723MC58 1122 2000 0101 2345 6789 030
NetherlandsNL1814NL91 ABNA 0417 1643 00
NorwayNO1511NO93 8601 1117 947
PolandPL2824PL61 1090 1014 0000 0712 1981 2874
PortugalPT2521PT50 0002 0123 1234 5678 9015 4
RomaniaRO2420RO49 AAAA 1B31 0075 9384 0000
San MarinoSM2723SM86 U032 2509 8000 0000 0270 100
Saudi ArabiaSA2420SA03 8000 0000 6080 1016 7519
SlovakiaSK2420SK31 1200 0000 1987 4263 7541
SloveniaSI1915SI56 2633 0001 2039 086
SpainES2420ES91 2100 0418 4502 0005 1332
SwedenSE2420SE45 5000 0000 0583 9825 7466
SwitzerlandCH2117CH93 0076 2011 6238 5295 7
TürkiyeTR2622TR33 0006 1005 1978 6457 8413 26
United Arab EmiratesAE2319AE07 0331 2345 6789 0123 456
United KingdomGB2218GB82 WEST 1234 5698 7654 32
Vatican CityVA2218VA59 0011 2300 0012 3456 78

Common IBAN Validation Rules Across All Countries

All IBANs share four universal validation rules: (1) the country code must be a valid ISO 3166-1 alpha-2 code for a country that has adopted IBAN; (2) the total length must match the expected length for that country (e.g., 22 for DE, 27 for FR); (3) the BBAN must contain only the character types valid for that country (digits only for most, or alphanumeric for some); and (4) the mod-97 checksum must yield a remainder of 1.

Length validation is the quickest check: if a claimed German IBAN has 23 characters instead of 22, it is immediately invalid without needing to run the mod-97 calculation. Country-specific BBAN structure validation adds a further layer - for example, French IBANs have specific rules about which characters are allowed in the bank/branch and account number positions.

ValidateFin's IBAN validator performs all four checks - country code recognition, length validation, character set validation, and mod-97 checksum - entirely in your browser. It supports IBANs from all 36 SEPA countries and many non-SEPA IBAN countries. No data is sent to any server.

IBAN in SEPA Payments and E-invoicing

IBAN is a mandatory field in all SEPA payment instruments. In pain.001 (Customer Credit Transfer Initiation), the creditor's IBAN appears in CdtrAcct/Id/IBAN. In pain.008 (Customer Direct Debit Initiation), the debtor's IBAN appears in DbtrAcct/Id/IBAN. Both fields are mandatory - a SEPA file without valid IBANs is rejected by the bank.

In e-invoicing (UBL/Peppol and Factur-X), the seller's IBAN appears in the payment instructions section (UBL: cbc:PaymentID / cac:PayeeFinancialAccount, CII: CreditorSpecifiedDebtorFinancialInstitution). Including a valid IBAN in the invoice enables buyers to process payment directly from the invoice data, supporting straight-through processing.

ValidateFin validates IBANs within SEPA XML files (pain.001, pain.008, camt.053) as part of the file validation process. Each IBAN in the file is checked against the mod-97 algorithm and the expected format for its country code. Errors are reported with the specific element path so you can locate and fix them quickly.

Validate IBANs Instantly with ValidateFin

ValidateFin's IBAN validator checks any IBAN against all country formats and the mod-97 checksum instantly in your browser. Validate individual IBANs or batch-check IBANs within your SEPA XML files.

Validate IBAN now

Frequently Asked Questions

How long is a German IBAN?

German IBANs (DE) are always 22 characters: DE + 2 check digits + 8-digit Bankleitzahl (BLZ) + 10-digit account number. Example: DE89370400440532013000.

How long is a French IBAN?

French IBANs (FR) are always 27 characters: FR + 2 check digits + 5-digit bank code + 5-digit branch code + 11-character account number + 2-digit national check. Example: FR7630006000011234567890189.

How do I validate an IBAN?

IBAN validation requires four steps: (1) check the country code is a valid IBAN-adopting country; (2) check the total length matches the expected length for that country; (3) check the BBAN contains only valid characters for that country; (4) verify the mod-97 checksum: move the country code and check digits (the first four characters) to the end, convert letters to numbers (A=10, B=11, etc.), take the result modulo 97, and verify the remainder is 1.

Is IBAN the same as account number?

No. IBAN is an international format that includes the country code, check digits, and the domestic account number (BBAN). The BBAN includes the bank code and account number components specific to each country. IBAN is always used for cross-border SEPA payments; domestic transfers may use shorter national formats in some countries.

How many countries use IBAN?

Approximately 79 countries have adopted IBAN. The 36 SEPA countries (EU member states plus Norway, Iceland, Liechtenstein, Switzerland, UK, and some micro-states) use IBAN for all SEPA payment instruments. Many Middle Eastern, North African, and Caribbean countries have also adopted IBAN.

What is the IBAN check digit for?

The 2-digit check digit (positions 3-4 of the IBAN) is calculated using the mod-97 algorithm and serves as an error detection mechanism. It catches approximately 98% of single-digit errors, all transpositions of adjacent digits, and many other common data entry mistakes.

Can an IBAN have letters?

The country code positions (1-2) are always letters. Some countries include letters in their BBAN - for example, UK IBANs include the 4-letter BIC bank code, and some other countries encode the bank identifier as alphanumeric. Most continental European IBANs (DE, FR, NL, BE, ES) have numeric-only BBANs.

What is BBAN?

BBAN (Basic Bank Account Number) is the domestic account number component of the IBAN, without the country code and check digits. Each country defines its own BBAN structure - for Germany it is the 18-character combination of BLZ and account number, for France it is the 23-character bank/branch/account/national-check combination.

Are spaces allowed in IBAN?

Spaces are used for human readability (printed format) but must be removed for electronic transmission. The electronic format uses no spaces: DEXXXXXXXXXXXXXXXXXX. SEPA XML files and e-invoices must use the electronic format without spaces.

Why is my IBAN rejected despite looking correct?

Common causes of IBAN rejection: (1) wrong country code (e.g., FR instead of BE); (2) incorrect length (one digit too many or too few); (3) transposed digits; (4) spaces included in the electronic format; (5) the IBAN is from a non-SEPA country and the target bank does not support it. Use ValidateFin's IBAN validator to identify the specific error.