If you are managing finances for a business with suppliers, partners, or employees in Hong Kong, you have likely stared at a payment screen wondering exactly what to put in the "Bank Code" field.
It seems simple enough—until you realize the client sent you a string of numbers that doesn't quite match the fields on your banking portal. Is the "004" part of the account number? Do you need the SWIFT code or the Clearing Code? And what happens if you mix up the Branch Code with the Bank Code?
In the world of B2B payments, a single digit error doesn’t just mean a failed transaction; it means lost foreign exchange fees, a 3-5 day delay to retrieve funds, and a frustrated vendor waiting for payment.
This guide goes beyond a simple list. We will break down exactly how Hong Kong’s clearing system works, how to decipher local account structures, and how to ensure your payments land in the right account the first time.
What Actually is a Hong Kong "Bank Code"?
In Hong Kong, the Bank Code (also known as the Clearing Code) is a unique three-digit number assigned to every bank by the Hong Kong Interbank Clearing Limited (HKICL).
Think of it as the domestic routing number. It is used primarily for:
-
Local Transfers: Payments sent via the CHATS (Real Time Gross Settlement) or FPS (Faster Payment System) networks.
-
Cheque Clearance: It is the first three digits printed at the bottom of a cheque.
-
Auto-pay Setup: For setting up direct debits for payroll or utilities.
Crucial Distinction: The Bank Code is not the same as a SWIFT/BIC code. SWIFT codes are alphanumeric (e.g., HSBCHKHH) and are used for international wire transfers. The Bank Code is numeric (e.g., 004) and is strictly for the local clearing logic within Hong Kong.
The "Big Three" & Common Business Bank Codes
If you are in a rush, there is an 80% chance you are looking for one of the three note-issuing banks or the major commercial players. Here are the codes for the most frequently used banks in Hong Kong business sectors:
|
Bank Name
|
Bank Code (Clearing Code)
|
Common Use Case
|
|
HSBC (Hongkong and Shanghai Banking Corp)
|
004
|
The dominant player in HK trade & retail.
|
|
Standard Chartered Bank (Hong Kong)
|
003
|
Heavy usage in corporate & trade finance.
|
|
Bank of China (Hong Kong)
|
012
|
Major provider for cross-border RMB business.
|
|
Hang Seng Bank
|
024
|
Subsidiary of HSBC, very common for SMEs.
|
|
DBS Bank (Hong Kong)
|
016
|
Strong presence in SME banking.
|
|
Citibank (Hong Kong)
|
250
|
Note: 006 is typically for N.A. branches; 250 is for HK entities.
|
|
The Bank of East Asia (BEA)
|
015
|
Large local independent bank.
|
The Complete List of Hong Kong Bank Codes (2026 Updated)
Below is a curated list of banks commonly encountered in B2B transactions. While there are over 150 licensed banks, these cover the vast majority of commercial payment volume.
Major Commercial & Retail Banks
-
004 – HSBC
-
003 – Standard Chartered Bank
-
012 – Bank of China (Hong Kong)
-
024 – Hang Seng Bank
-
016 – DBS Bank (Hong Kong)
-
015 – The Bank of East Asia
-
005 – Crédit Agricole Corporate and Investment Bank
-
006 – Citibank, N.A.
-
007 – JPMorgan Chase Bank, N.A.
-
009 – China Construction Bank (Asia)
-
018 – China CITIC Bank International
-
020 – Wing Lung Bank (now CMB Wing Lung Bank)
-
022 – OCBC Wing Hang Bank
-
025 – Shanghai Commercial Bank
-
027 – Bank of Communications (Hong Kong)
-
028 – Public Bank (Hong Kong)
-
035 – OCBC Bank (Hong Kong Branch)
-
038 – Tai Yau Bank
-
039 – Chiyu Banking Corporation
-
040 – Dah Sing Bank
-
041 – Chong Hing Bank
-
043 – Nanyang Commercial Bank
-
061 – Tai Sang Bank
-
072 – Industrial and Commercial Bank of China (Asia) - ICBC
Virtual Banks (Neobanks)
With the rise of fintech, many HK businesses now use virtual banks. These banks utilize the same clearing infrastructure and require valid bank codes:
-
388 – ZA Bank
-
389 – Mox Bank (Standard Chartered backed)
-
390 – WeLab Bank
-
391 – Airstar Bank
-
392 – Ping An OneConnect Bank (PAOB) - Common for SME loans
-
393 – Ant Bank (Hong Kong)
The Danger Zone: Bank Code vs. Branch Code vs. Account Number
This is where 90% of payment errors happen.
Hong Kong bank account structures are logical, but they are often presented to you in a confusing format. A standard Hong Kong account number usually follows this logic:
[Bank Code (3 digits)] — [Branch Code (3 digits)] — [Account Number (6 to 9 digits)]
The "Hidden" Branch Code Problem
When a vendor sends you an invoice, they might write their account number like this: 123-456789-888.
If you are using a global payment platform, it will likely ask for:
-
Bank Code
-
Branch Code
-
Account Number
Here is how to decode it:
If the vendor says their bank is HSBC (004) and the account is 123-456-789:
-
Bank Code: 004 (You must input this manually; it is rarely part of the string the client gives you).
-
Branch Code: 123 (The first 3 digits of the string are usually the branch code).
-
Account Number: 456789 (The remaining digits).
Real-world scenario:
Many legacy systems and local checks combine the branch code and account number into a single string. If a form asks for a "Branch Code" and you leave it blank because you "didn't see one," the payment will fail. If you put the Bank Code (004) into the Branch Code field, the payment will be routed to a non-existent branch and bounce back.
Pro Tip: If a specific banking portal does not have a separate field for "Branch Code," you should typically prefix the account number with the branch code. (e.g., Enter 123456789 as the account number).
When to Use Which Code: A Decision Matrix
Choosing the right code depends entirely on how you are sending the money.
Scenario A: You are sending money via SWIFT (International Wire)
-
What you need: The SWIFT/BIC Code (e.g., HSBCHKHH).
-
Role of Bank Code: In a standard MT103 SWIFT message, you typically don't need to explicitly separate the 3-digit clearing code unless the specific field (Field 57) requires a National Clearing Code (NCC) format.
-
Best Practice: Always prioritize the SWIFT code for international wires.
Scenario B: You are using a modern payment provider (Wise, Airwallex, PhotonPay)
-
What you need: The Bank Code (3 digits) + Branch Code.
-
Why: These Fintech providers often use local payout partners. They don't send a wire; they instruct a local partner in Hong Kong to send a CHATS or FPS transfer. Therefore, they need the local routing logic (The 3-digit code), not the SWIFT code.
Scenario C: You are paying a credit card or utility bill
Common Mistakes That Delay Payments
Over years of analyzing failed transaction reports, I’ve seen the same issues crop up repeatedly.
1. Dropping the Leading Zeros
The code for Standard Chartered is 003. Some spreadsheet software (like Excel) or careless data entry will auto-format this to 3.
2. Confusing "004" (HSBC) with "024" (Hang Seng)
Because Hang Seng is a subsidiary of HSBC, they share some infrastructure, and their ATM networks are linked. However, their clearing codes are distinct. You cannot send money to a Hang Seng account using the HSBC code 004.
3. The Citibank Confusion (006 vs 250)
Citibank has different codes for different entities.
-
006: Generally for Citibank N.A. (Foreign bank branches).
-
250: Citibank (Hong Kong) Limited (Locally incorporated).
-
The Fix: Ask your vendor explicitly which entity their account is held with. If in doubt, 250 is becoming more common for local Hong Kong commercial accounts, but 006 remains prevalent for older accounts.
Bonus Tip: A Smarter Way to Handle Hong Kong Payments
While understanding these codes is essential for compliance and troubleshooting, manually managing them for every transaction is inefficient—especially if you are scaling your operations.
If your business frequently sends payouts to Hong Kong, or if you are an e-commerce seller needing to collect funds from HK marketplaces, relying on traditional bank wires often means dealing with high FX markups and manual data entry errors.
This is where modern financial infrastructure like
PhotonPay bridges the gap:
✅ Intelligent Routing: Instead of worrying about whether to use CHATS, FPS, or SWIFT, platforms like PhotonPay simplify global payouts. You simply input the beneficiary details, and the system validates the format, automatically selecting the most efficient local rail (often T+0 arrival).
✅ Virtual Local Accounts: Instead of just sending money to Hong Kong, you can generate your own Global Account with local Hong Kong details. This allows you to collect payments from clients in HKD as if you had a local entity, bypassing the need for complex cross-border coding altogether.
✅ Cost Efficiency: By utilizing local clearing networks rather than the international SWIFT network, you significantly reduce landing fees for your beneficiaries and access real-time interbank FX rates.
The Bottom Line:
For a one-off transfer, simply looking up the code in the table above is sufficient. But for a business handling recurring cross-border flows, automating the "Bank Code" logic through a dedicated payment platform transforms a compliance headache into a competitive advantage.
FAQ of Bank Codes
Q: Is the Branch Code always 3 digits?
A: Yes, in Hong Kong, the standard format is always 3 digits for the bank code and 3 digits for the branch code.
Q: Where can I find the bank code on a physical cheque?
A: Look at the bottom of the cheque. You will see a string of numbers. The bank code is usually the set of digits between the cheque number and the branch code.
Q: My supplier gave me a 12-digit account number. How do I parse it?
A: Usually, this is [Branch Code (3)] + [Account Number (9)]. The Bank Code is likely separate. Verify the bank name to determine the correct 3-digit Bank Code (e.g., if they say HSBC, use 004).