When making an international bank transfer, you will often be asked for both an IBAN and a SWIFT code. While they work together, they serve different purposes. Understanding the distinction between these two identifiers — and knowing when you need one, the other, or both — can save you time, money, and frustration. This guide provides a thorough explanation of each system, their history, how they interact, and what they mean for real-world payment scenarios.
An IBAN (International Bank Account Number) identifies a specific bank account. It includes the country code, check digits, bank code, and account number in a single standardized string. IBANs are used in over 80 countries and are required for all SEPA transfers within Europe. The IBAN standard is defined by ISO 13616, which specifies the structure, content, and validation rules for IBANs worldwide. For a deeper explanation, see our guide on what an IBAN is and how it works.
Example: GB29 NWBK 6016 1331 9268 19
The IBAN above tells us this account is in Great Britain (GB), has check digits 29, belongs to a bank with sort code 601613, and the account number is 31926819. Every piece of information needed to identify the recipient's account is embedded in a single string.
A SWIFT code (also called a BIC — Bank Identifier Code) identifies the bank itself, not a specific account. It is an 8 or 11-character code used by the SWIFT network to route international wire transfers between banks. The Society for Worldwide Interbank Financial Telecommunication (SWIFT) is a cooperative headquartered in La Hulpe, Belgium, that operates the messaging network connecting financial institutions around the globe.
Example: NWBKGB2L (NatWest, United Kingdom)
Every SWIFT/BIC code follows a rigid structure. Let's break down the example BANKGB2L to see what each part means:
| Position | Characters | Meaning | Example |
|---|---|---|---|
| 1–4 | 4 letters | Bank code (institution identifier) | BANK |
| 5–6 | 2 letters | Country code (ISO 3166-1 alpha-2) | GB |
| 7–8 | 2 alphanumeric | Location code (city or region) | 2L |
| 9–11 | 3 alphanumeric (optional) | Branch code (specific branch) | XXX or omitted |
The first four characters always represent the bank. For NatWest, the code is NWBK. The country code GB tells us it is in the United Kingdom. The location code 2L indicates London. If the branch code is omitted or set to XXX, the code refers to the bank's head office. This is why some SWIFT codes are 8 characters while others are 11.
Before SWIFT existed, banks communicated international payment instructions via Telex — a slow, error-prone, and largely manual system. In 1973, 239 banks from 15 countries founded the Society for Worldwide Interbank Financial Telecommunication to replace Telex with a standardized, secure messaging system. SWIFT sent its first message in 1977.
Today, more than 11,000 financial institutions in over 200 countries and territories use the SWIFT network. According to SWIFT's official data, the network processes an average of over 44 million messages per day. It remains the backbone of international finance, although newer alternatives — such as blockchain-based payment rails and real-time gross settlement systems — are beginning to emerge.
SWIFT does not actually move money. Instead, it transmits secure, standardized messages between banks that instruct them to debit or credit accounts. The most common message type for customer payments is the MT103, which is the standard format for a single customer credit transfer. When you initiate an international wire, your bank sends an MT103 message to the recipient's bank (or to a correspondent bank that then forwards it).
If two banks do not have a direct relationship, the payment may pass through one or more intermediary (correspondent) banks. Each hop adds time and potentially additional fees. This chain is one of the main reasons international wire transfers can take 1–5 business days and incur charges at each step. SWIFT's newer gpi (Global Payments Innovation) initiative aims to make these transfers faster, more transparent, and traceable from end to end. For more on international transfers, see our guide on how to send money internationally.
| Feature | IBAN | SWIFT/BIC |
|---|---|---|
| Identifies | Bank account | Bank institution |
| Length | 15–34 characters | 8 or 11 characters |
| Contains account number | Yes | No |
| Used for | Identifying the recipient | Routing between banks |
| Coverage | 80+ countries | 200+ countries |
| Standard | ISO 13616 | ISO 9362 |
| Contains bank info | Embedded in the BBAN portion | The entire code identifies the bank |
In short, the IBAN answers the question “which account?” and the SWIFT code answers “which bank?” For a transfer to reach the right person at the right institution, you often need both pieces of information working together.
SEPA transfers (Europe)
Only an IBAN is required. The bank derives the SWIFT code from the IBAN automatically. SEPA payments cover the entire EU, EEA, and a handful of additional countries such as Switzerland, Monaco, and the United Kingdom (for some payment schemes).
International wire transfers
You typically need both: the IBAN to identify the recipient's account and the SWIFT code to route the payment to the correct bank. When sending from a non-IBAN country (such as the US) to an IBAN country, you provide the recipient's IBAN plus their bank's SWIFT code.
US domestic transfers
Neither is used. The US uses routing numbers for domestic payments. For incoming international wires to the US, the sender needs the recipient's SWIFT code plus their account number (not an IBAN).
Non-IBAN country to IBAN country
When sending from the US, Canada, or Australia to a European country, you will need the recipient's IBAN (for the account) and their bank's SWIFT/BIC code (for routing). Your own bank will use the SWIFT network to send the payment instruction.
One of the most practical differences between SWIFT-based wire transfers and SEPA transfers is cost. SEPA was designed to make euro-denominated payments within Europe as cheap as domestic transfers. In many cases, SEPA Credit Transfers are free or cost under €1. SEPA Instant Credit Transfers may carry a small fee of around €0.20–€1 depending on the bank.
SWIFT wire transfers, on the other hand, can be significantly more expensive. Fees vary widely, but a typical international wire might cost $15–$50 at the sending bank. The receiving bank may also charge a fee, and intermediary (correspondent) banks along the way can each deduct their own charges. Currency conversion adds another layer of cost in the form of exchange rate markups.
| Factor | SEPA Transfer | SWIFT Wire |
|---|---|---|
| Sending fee | Free – €1 | $15 – $50+ |
| Receiving fee | Usually free | $0 – $20 |
| Intermediary fees | None | Possible at each hop |
| Speed | 1 business day (instant available) | 1 – 5 business days |
| Currency | EUR only | Any currency |
For European payments in euros, SEPA is almost always the better choice. For cross-currency or intercontinental transfers, SWIFT remains the standard mechanism, though fintech alternatives like Wise, Revolut, and OFX often offer lower fees by batching transactions domestically.
Freelancer receiving payment from abroad
A graphic designer in Berlin invoices a client in New York. The designer provides their German IBAN (e.g., DE89 3704 0044 0532 0130 00) and their bank's SWIFT code (e.g., COBADEFFXXX). The US client's bank uses the SWIFT code to route the payment to Commerzbank in Germany, and the IBAN to credit the correct account. The payment takes 2–3 business days and incurs SWIFT wire fees on both ends.
Buying property abroad
A British citizen purchasing a holiday home in Spain needs to transfer a large sum to the seller's Spanish bank account. Since both the UK and Spain support IBAN, the buyer provides the seller's Spanish IBAN to their UK bank. If the transfer is in euros and qualifies as a SEPA payment, the buyer may only need the IBAN — the bank extracts the BIC automatically. If the transfer is in GBP and converted to EUR, the bank will likely process it as a SWIFT wire, requiring both the IBAN and SWIFT code.
Paying university tuition overseas
A student from India needs to pay tuition fees to a university in the Netherlands. India does not use IBAN, but the Netherlands does. The university provides its Dutch IBAN and SWIFT/BIC code. The student's Indian bank uses the SWIFT network to route the payment. Since this is a cross-currency transfer (INR to EUR), the student should confirm whether the bank uses the OUR, BEN, or SHA fee instruction to control who pays the transfer charges.
XXX to make it 11 characters (indicating the head office). Both formats are valid, but if your bank asks for 11 characters, appending XXX to an 8-character code is the correct approach.Use our free IBAN validator to check that your IBAN is correct before making a transfer. The validator shows the country, bank code, and account number in a detailed breakdown — helping you confirm you have the right details before you initiate a payment.
Back to all guides.