HDFC / ICICI / SBI: Why Indian banks don't have IBANs and what to use instead?

You've just sent your overseas client a payment request. They write back asking for your IBAN. You open your HDFC net banking, search through every screen, and find nothing. You try ICICI's app—same result. SBI's passbook doesn't mention it either.
Here's the thing: India doesn't use IBANs. Not HDFC, not ICICI, not SBI, not a single Indian bank issues one. This isn't a glitch or an oversight. It's how India's international banking system is built.
This guide explains exactly why, what you should share instead, and how to get paid faster with far less friction.
What is an IBAN, and why do so many clients ask for one?
IBAN stands for International Bank Account Number. It's a standardised code that identifies a bank account across national borders, reducing routing errors in cross-border payments.
An IBAN typically contains a country code, two check digits, and the bank's local account identifier. The full string can be up to 34 characters long. The format looks like this: `GB29 NWBK 6016 1331 9268 19`.
As of December 2024, 89 countries have adopted the IBAN system. It's mandatory across the European Union, the UK, and most of the Middle East. When your client's payment portal sits in Germany, the Netherlands, or the UAE, the system expects an IBAN by default.
That's why they ask. Their software requires an IBAN field. They're not trying to complicate things — they simply don't know India works differently.
Why India doesn't have IBANs
India never adopted the IBAN standard. The Reserve Bank of India (RBI) built a parallel, robust system for both domestic and international transfers — and it works well without IBAN.
For domestic transfers, India uses the IFSC code (Indian Financial System Code) combined with the account number. This 11-character alphanumeric code identifies every bank branch in the country and powers NEFT, RTGS, and IMPS transactions.
For international transfers, Indian banks use SWIFT codes (also known as BIC: Bank Identifier Codes). These are globally recognised, accepted in 200+ countries, and entirely sufficient for routing inward remittances to any Indian account.
The RBI has not mandated IBAN adoption, as SWIFT, combined with domestic identifiers, already serves India's cross-border payment needs. India's system isn't broken — it's just different.
SWIFT codes for India's major banks
When a foreign client asks for your IBAN, you give them your SWIFT code and account details instead. Here are the primary SWIFT codes for India's biggest banks:
| Bank | Primary SWIFT / BIC Code |
|---|---|
| HDFC Bank | HDFCINBBXXX |
| ICICI Bank | ICICINBBXXX |
| State Bank of India (SBI) | SBININBBXXX |
| Axis Bank | AXISINBBXXX |
| Kotak Mahindra Bank | KKBKINBBXXX |
| Canara Bank | CNRBINBBXXX |
| Bank of Baroda | BARBINBBXXX |
The last three characters (`XXX`) represent the head office. For most inward remittances, the head office SWIFT code is enough. Specific branch codes exist but are rarely required unless your bank or the sender's bank explicitly asks for one.
Pro tip: Use Winvesta's SWIFT Code Finder to look up branch-level codes for any Indian bank in seconds.
Exactly what details to share with your international client
Stop sending a one-line "I don't have an IBAN" reply. Send them everything they need in one message instead. Here's what to include:
For a standard SWIFT inward remittance to your Indian bank account:
- Full name (as registered with your bank)
- Bank name (e.g., HDFC Bank)
- Bank branch name and address
- Account number
- SWIFT / BIC code (e.g., HDFCINBBXXX)
- IFSC code (useful for banks that request it)
- Country: India
Some sender banks — particularly in the US — also ask for the intermediary bank's SWIFT code. HDFC, ICICI, and SBI all have correspondent banking arrangements that handle this routing automatically. If your client's bank specifically requests intermediary details, contact your bank's international payments desk for the current nostro/correspondent bank details.
For RBI compliance purposes, also confirm the payment purpose code. Standard purpose codes for services exports (IT, design, consulting) fall under the P0802 or P0103 categories. Your bank or Winvesta's team can help confirm the right one for your transaction.
The real problem with SWIFT is that it goes to your Indian bank account
Here's what nobody tells you upfront: even when a SWIFT transfer completes successfully, it's expensive. Indian banks typically apply a forex markup, often in the 1.5–3% range, on top of the mid-market rate when converting your inward USD, EUR, or GBP to INR. On a ₹5 lakh invoice, that's ₹7,500–₹15,000 quietly taken before the money hits your account.
There are also intermediary bank charges. A SWIFT payment from the US to India often passes through a correspondent bank in New York before reaching Mumbai. That intermediary can typically deduct $10–$25 from the principal, though the exact amount varies by corridor and bank. Your client sent $3,000; you received $2,975.
Want to see exactly how much you'll receive after conversion? Use Winvesta's Currency Converter to estimate your INR payout before the transfer lands.
And settlement typically takes 2–5 business days, depending on the corridor.
A smarter way to receive international payments
This is where a Global Collection Account (GCA) changes the equation entirely.
Platforms like Winvesta provide local bank account details for the US, UK, Europe, Canada, and Australia. Your US client makes a domestic ACH transfer in dollars to your US account number. No international wire. No SWIFT fees. No intermediary deductions. No IBAN question.
The money lands in your Winvesta GCA, where you hold it in the original currency until you're ready to convert. You then withdraw to your Indian bank account at a transparent rate with a flat fee, starting at $3 + 0.99% for USD.
You also get FIRA (Foreign Inward Remittance Advice) automatically, at no extra cost. That's the compliance document your bank and the RBI require for every inward remittance — usually costing ₹500–₹1,000 per certificate when obtained manually.
The IBAN question? It never comes up. Your US client just does a regular ACH transfer. Your European client makes a standard SEPA transfer to your EUR account. It feels entirely domestic on their end.
Check our SWIFT vs local transfers guide to understand when SWIFT still makes sense and when a local collection account is a better option.
How Winvesta GCA compares to other alternatives
| Basis | Winvesta GCA | Wise | PayPal |
|---|---|---|---|
| Local account details | US, UK, EU, CA, AU | US, UK, EU, AU | No |
| FX markup | Zero | ~0.4–1% | 4%+ |
| FIRA included | Yes, free | No | No |
| Supported entities | Freelancers, sole props, Pvt Ltd, LLP | Individuals mainly | Individuals mainly |
| GST on USD fees | Zero | Applicable | Applicable |
| Setup time | 1–2 days | 1–3 days | Same day |
What to do when a payment form insists on an IBAN
Some European payment portals enforce strict IBAN validation — they won't accept anything else. Here's how to handle it without making your client's finance team panic:
1. Ask for the "non-IBAN / rest of world" or "other countries" option. Most modern portals have a separate payment flow for countries outside the IBAN area.
2. Request a standard SWIFT wire instead. Ask your client to initiate an international wire transfer rather than a SEPA payment. The wire flow accepts SWIFT codes.
3. Use a GCA with European local details. If you have a Winvesta GCA with a EUR IBAN, your client can send a SEPA transfer to that IBAN — and Winvesta routes the funds to you in India. You get the IBAN without your Indian bank needing one.
4. Never invent an IBAN. Fabricated IBANs fail the checksum validation immediately and cause the payment to bounce or get delayed for weeks.
5 common IBAN mistakes Indian businesses make (and how to fix them)
❌ Mistake 1: Inventing an IBAN
Wrong: Creating a fake IBAN like "IN50100012345678"
Right: Share your SWIFT code + account number instead. Fabricated IBANs fail checksum validation immediately.
❌ Mistake 2: Giving your IFSC code instead of SWIFT
Wrong: Sharing HDFC0001234 with an international sender
Right: IFSC is for domestic transfers only. Use HDFCINBBXXX for international payments.
❌ Mistake 3: Using an incomplete SWIFT code
Wrong: Just "HDFCINBB" without the branch suffix
Right: Use the full 11-character code like HDFCINBB560 when your bank or the sender specifically requires a branch-level code. For most transfers, HDFCINBBXXX works fine.
❌ Mistake 4: Wrong account holder name
Wrong: Using a nickname or shortened version
Right: Use your name exactly as it appears on your passbook or bank statement. Even a minor mismatch can delay or reject the transfer.
❌ Mistake 5: Missing branch address
Wrong: Sharing only the SWIFT code and account number
Right: Include your full branch address with PIN code. Some correspondent banks use this to confirm routing, especially for first-time senders.
Quick reference: IBAN vs SWIFT for Indian freelancers and businesses
| Factor | IBAN | SWIFT + account number |
|---|---|---|
| Does India use it? | No | Yes |
| Works with Indian banks? | No | Yes |
| Required for European clients? | Sometimes | Not always |
| Settlement time | 1–2 days (within SEPA) | 2–5 days |
| Hidden fees | Lower within SEPA | Intermediary + FX markup |
| Best workaround | Get a GCA with EUR IBAN | Use GCA with local US/UK details |
Winvesta's Global Collection Account is open to Indian freelancers, sole proprietors, Private Limited companies, and LLPs. Fees from $3 + 0.99% on USD. FIRA is included at no extra cost. Open your account today.
Disclaimer: The information provided in this blog is for general informational purposes only and does not constitute financial or legal advice. Winvesta makes no representations or warranties about the accuracy or suitability of the content and recommends consulting a professional before making any financial decisions.
Get paid globally. Keep more of it.
No FX markups. No GST. Funds in 1 day.

Table of Contents

You've just sent your overseas client a payment request. They write back asking for your IBAN. You open your HDFC net banking, search through every screen, and find nothing. You try ICICI's app—same result. SBI's passbook doesn't mention it either.
Here's the thing: India doesn't use IBANs. Not HDFC, not ICICI, not SBI, not a single Indian bank issues one. This isn't a glitch or an oversight. It's how India's international banking system is built.
This guide explains exactly why, what you should share instead, and how to get paid faster with far less friction.
What is an IBAN, and why do so many clients ask for one?
IBAN stands for International Bank Account Number. It's a standardised code that identifies a bank account across national borders, reducing routing errors in cross-border payments.
An IBAN typically contains a country code, two check digits, and the bank's local account identifier. The full string can be up to 34 characters long. The format looks like this: `GB29 NWBK 6016 1331 9268 19`.
As of December 2024, 89 countries have adopted the IBAN system. It's mandatory across the European Union, the UK, and most of the Middle East. When your client's payment portal sits in Germany, the Netherlands, or the UAE, the system expects an IBAN by default.
That's why they ask. Their software requires an IBAN field. They're not trying to complicate things — they simply don't know India works differently.
Why India doesn't have IBANs
India never adopted the IBAN standard. The Reserve Bank of India (RBI) built a parallel, robust system for both domestic and international transfers — and it works well without IBAN.
For domestic transfers, India uses the IFSC code (Indian Financial System Code) combined with the account number. This 11-character alphanumeric code identifies every bank branch in the country and powers NEFT, RTGS, and IMPS transactions.
For international transfers, Indian banks use SWIFT codes (also known as BIC: Bank Identifier Codes). These are globally recognised, accepted in 200+ countries, and entirely sufficient for routing inward remittances to any Indian account.
The RBI has not mandated IBAN adoption, as SWIFT, combined with domestic identifiers, already serves India's cross-border payment needs. India's system isn't broken — it's just different.
SWIFT codes for India's major banks
When a foreign client asks for your IBAN, you give them your SWIFT code and account details instead. Here are the primary SWIFT codes for India's biggest banks:
| Bank | Primary SWIFT / BIC Code |
|---|---|
| HDFC Bank | HDFCINBBXXX |
| ICICI Bank | ICICINBBXXX |
| State Bank of India (SBI) | SBININBBXXX |
| Axis Bank | AXISINBBXXX |
| Kotak Mahindra Bank | KKBKINBBXXX |
| Canara Bank | CNRBINBBXXX |
| Bank of Baroda | BARBINBBXXX |
The last three characters (`XXX`) represent the head office. For most inward remittances, the head office SWIFT code is enough. Specific branch codes exist but are rarely required unless your bank or the sender's bank explicitly asks for one.
Pro tip: Use Winvesta's SWIFT Code Finder to look up branch-level codes for any Indian bank in seconds.
Exactly what details to share with your international client
Stop sending a one-line "I don't have an IBAN" reply. Send them everything they need in one message instead. Here's what to include:
For a standard SWIFT inward remittance to your Indian bank account:
- Full name (as registered with your bank)
- Bank name (e.g., HDFC Bank)
- Bank branch name and address
- Account number
- SWIFT / BIC code (e.g., HDFCINBBXXX)
- IFSC code (useful for banks that request it)
- Country: India
Some sender banks — particularly in the US — also ask for the intermediary bank's SWIFT code. HDFC, ICICI, and SBI all have correspondent banking arrangements that handle this routing automatically. If your client's bank specifically requests intermediary details, contact your bank's international payments desk for the current nostro/correspondent bank details.
For RBI compliance purposes, also confirm the payment purpose code. Standard purpose codes for services exports (IT, design, consulting) fall under the P0802 or P0103 categories. Your bank or Winvesta's team can help confirm the right one for your transaction.
The real problem with SWIFT is that it goes to your Indian bank account
Here's what nobody tells you upfront: even when a SWIFT transfer completes successfully, it's expensive. Indian banks typically apply a forex markup, often in the 1.5–3% range, on top of the mid-market rate when converting your inward USD, EUR, or GBP to INR. On a ₹5 lakh invoice, that's ₹7,500–₹15,000 quietly taken before the money hits your account.
There are also intermediary bank charges. A SWIFT payment from the US to India often passes through a correspondent bank in New York before reaching Mumbai. That intermediary can typically deduct $10–$25 from the principal, though the exact amount varies by corridor and bank. Your client sent $3,000; you received $2,975.
Want to see exactly how much you'll receive after conversion? Use Winvesta's Currency Converter to estimate your INR payout before the transfer lands.
And settlement typically takes 2–5 business days, depending on the corridor.
A smarter way to receive international payments
This is where a Global Collection Account (GCA) changes the equation entirely.
Platforms like Winvesta provide local bank account details for the US, UK, Europe, Canada, and Australia. Your US client makes a domestic ACH transfer in dollars to your US account number. No international wire. No SWIFT fees. No intermediary deductions. No IBAN question.
The money lands in your Winvesta GCA, where you hold it in the original currency until you're ready to convert. You then withdraw to your Indian bank account at a transparent rate with a flat fee, starting at $3 + 0.99% for USD.
You also get FIRA (Foreign Inward Remittance Advice) automatically, at no extra cost. That's the compliance document your bank and the RBI require for every inward remittance — usually costing ₹500–₹1,000 per certificate when obtained manually.
The IBAN question? It never comes up. Your US client just does a regular ACH transfer. Your European client makes a standard SEPA transfer to your EUR account. It feels entirely domestic on their end.
Check our SWIFT vs local transfers guide to understand when SWIFT still makes sense and when a local collection account is a better option.
How Winvesta GCA compares to other alternatives
| Basis | Winvesta GCA | Wise | PayPal |
|---|---|---|---|
| Local account details | US, UK, EU, CA, AU | US, UK, EU, AU | No |
| FX markup | Zero | ~0.4–1% | 4%+ |
| FIRA included | Yes, free | No | No |
| Supported entities | Freelancers, sole props, Pvt Ltd, LLP | Individuals mainly | Individuals mainly |
| GST on USD fees | Zero | Applicable | Applicable |
| Setup time | 1–2 days | 1–3 days | Same day |
What to do when a payment form insists on an IBAN
Some European payment portals enforce strict IBAN validation — they won't accept anything else. Here's how to handle it without making your client's finance team panic:
1. Ask for the "non-IBAN / rest of world" or "other countries" option. Most modern portals have a separate payment flow for countries outside the IBAN area.
2. Request a standard SWIFT wire instead. Ask your client to initiate an international wire transfer rather than a SEPA payment. The wire flow accepts SWIFT codes.
3. Use a GCA with European local details. If you have a Winvesta GCA with a EUR IBAN, your client can send a SEPA transfer to that IBAN — and Winvesta routes the funds to you in India. You get the IBAN without your Indian bank needing one.
4. Never invent an IBAN. Fabricated IBANs fail the checksum validation immediately and cause the payment to bounce or get delayed for weeks.
5 common IBAN mistakes Indian businesses make (and how to fix them)
❌ Mistake 1: Inventing an IBAN
Wrong: Creating a fake IBAN like "IN50100012345678"
Right: Share your SWIFT code + account number instead. Fabricated IBANs fail checksum validation immediately.
❌ Mistake 2: Giving your IFSC code instead of SWIFT
Wrong: Sharing HDFC0001234 with an international sender
Right: IFSC is for domestic transfers only. Use HDFCINBBXXX for international payments.
❌ Mistake 3: Using an incomplete SWIFT code
Wrong: Just "HDFCINBB" without the branch suffix
Right: Use the full 11-character code like HDFCINBB560 when your bank or the sender specifically requires a branch-level code. For most transfers, HDFCINBBXXX works fine.
❌ Mistake 4: Wrong account holder name
Wrong: Using a nickname or shortened version
Right: Use your name exactly as it appears on your passbook or bank statement. Even a minor mismatch can delay or reject the transfer.
❌ Mistake 5: Missing branch address
Wrong: Sharing only the SWIFT code and account number
Right: Include your full branch address with PIN code. Some correspondent banks use this to confirm routing, especially for first-time senders.
Quick reference: IBAN vs SWIFT for Indian freelancers and businesses
| Factor | IBAN | SWIFT + account number |
|---|---|---|
| Does India use it? | No | Yes |
| Works with Indian banks? | No | Yes |
| Required for European clients? | Sometimes | Not always |
| Settlement time | 1–2 days (within SEPA) | 2–5 days |
| Hidden fees | Lower within SEPA | Intermediary + FX markup |
| Best workaround | Get a GCA with EUR IBAN | Use GCA with local US/UK details |
Winvesta's Global Collection Account is open to Indian freelancers, sole proprietors, Private Limited companies, and LLPs. Fees from $3 + 0.99% on USD. FIRA is included at no extra cost. Open your account today.
Disclaimer: The information provided in this blog is for general informational purposes only and does not constitute financial or legal advice. Winvesta makes no representations or warranties about the accuracy or suitability of the content and recommends consulting a professional before making any financial decisions.
Get paid globally. Keep more of it.
No FX markups. No GST. Funds in 1 day.



