Every country has its own system for identifying bank accounts, branches, and financial institutions. Some systems are internationally standardised, while others are purely domestic. If you send money abroad, receive international payments, or simply want to understand what all those numbers on your bank statement mean, this guide provides a comprehensive overview of every major bank number format in use around the world today.
The International Bank Account Number (IBAN) is the most widely adopted bank account identification system in the world. Defined by the ISO 13616 standard, IBANs are used in over 80 countries across Europe, the Middle East, North Africa, and parts of Latin America and the Caribbean. The system was originally developed to facilitate cross-border payments within Europe but has since been adopted far beyond the continent.
An IBAN consists of up to 34 alphanumeric characters, structured as follows:
DE for Germany, FR for France)For example, a German IBAN like DE89 3704 0044 0532 0130 00 breaks down into: country code DE, check digits 89, bank code 37040044, and account number 0532013000.
The built-in check digit algorithm is one of the IBAN system's greatest strengths. It catches over 99% of single-character errors and transposition mistakes. You can validate any IBAN using our IBAN checker. For a deeper explanation of the format, see our guide on what is an IBAN.
The United States does not use the IBAN system. Instead, US banks are identified by 9-digit ABA routing numbers, developed by the American Bankers Association in 1910. These routing numbers are used to direct payments through the US domestic banking network.
There are two types of routing numbers that serve different purposes:
The first two digits of a routing number indicate the Federal Reserve district where the bank is located. There are 12 Federal Reserve districts, numbered 01 through 12, covering the entire country. The routing number also includes a check digit calculated using a weighted-sum algorithm for error detection.
Validate any US routing number using our routing number checker. For more detail on the format, see our routing number glossary entry.
The United Kingdom identifies banks and branches using 6-digit sort codes, typically displayed in the format XX-XX-XX (three pairs of digits separated by hyphens). Each sort code uniquely identifies a specific bank branch within the UK banking system.
A UK bank account is identified by the combination of a 6-digit sort code and an 8-digit account number. For domestic payments within the UK (through Faster Payments, BACS, or CHAPS), only the sort code and account number are needed.
The first two digits of the sort code generally indicate the bank. For example, sort codes starting with 20 belong to Barclays, while those starting with 60 belong to NatWest.
While the UK also has IBANs (a UK IBAN is 22 characters, starting with GB), they are primarily used for receiving international transfers. UK domestic banking runs entirely on the sort code and account number system. Verify any sort code using our sort code checker.
The SWIFT/BIC (Bank Identifier Code) system operates alongside every national banking system. While IBANs, routing numbers, and sort codes identify specific accounts or branches, a SWIFT code identifies the financial institution itself on the global SWIFT messaging network, which connects over 11,000 financial institutions in more than 200 countries.
A SWIFT/BIC code is either 8 or 11 characters long:
DEUT for Deutsche Bank)DE for Germany)XXX in positions 9–11 also indicates the head office.For international wire transfers, you almost always need both the account identifier (IBAN, routing number, or sort code) and the SWIFT/BIC code. Validate any SWIFT code using our SWIFT/BIC validator. For a deeper dive, see our guide on what is a SWIFT/BIC code.
Several major economies use their own domestic bank identification systems that do not follow the IBAN standard:
India: IFSC (Indian Financial System Code)
The IFSC is an 11-character alphanumeric code used to identify bank branches in India for electronic fund transfers through NEFT, RTGS, and IMPS. The structure is fixed: the first 4 characters identify the bank (e.g., SBIN for State Bank of India), the 5th character is always 0 (reserved for future use), and the last 6 characters identify the specific branch. For example, SBIN0001234 refers to a specific State Bank of India branch. India does not use IBANs and has no plans to adopt them. For international transfers to India, you need the recipient's IFSC code, account number, and the bank's SWIFT code.
Canada: Transit Number + Institution Number
Canadian bank accounts are identified by a combination of a 5-digit transit (branch) number and a 3-digit institution number, totalling 8 digits. The institution number identifies the bank (e.g., 001 for Bank of Montreal, 004 for Toronto-Dominion Bank), while the transit number identifies the specific branch. On cheques, these are sometimes displayed as a single 8-digit number in the format XXXXX-YYY (transit-institution). Canada does not use IBANs. For international transfers to Canada, you need the transit number, institution number, account number, and the bank's SWIFT code.
Australia: BSB (Bank State Branch)
The BSB is a 6-digit code used to identify bank branches in Australia, displayed in the format XXX-XXX. The first two digits identify the bank (e.g., 06 for Commonwealth Bank, 03 for Westpac), the third digit indicates the state (e.g., 2 for New South Wales, 3 for Victoria), and the last three digits identify the branch. Australia does not use IBANs. For international transfers to Australia, you need the BSB, account number, and the bank's SWIFT code.
Japan: Zengin Code
Japan uses the Zengin system for domestic interbank transfers. Each bank is identified by a 4-digit bank code, and each branch by a 3-digit branch code, giving a combined 7-digit Zengin code. For example, Mitsubishi UFJ Financial Group uses bank code 0005. Domestic transfers in Japan require the bank code, branch code, account type (ordinary or current), and account number. For international transfers to Japan, you need these details plus the bank's SWIFT code. Japan does not use IBANs. Recipient names must be provided in katakana for domestic processing.
The following table compares all major bank number formats in use today:
| System | Countries | Format | Length | Has Checksum | Primary Use |
|---|---|---|---|---|---|
| IBAN | 80+ (Europe, Middle East, etc.) | Alphanumeric | 15–34 characters | Yes (mod-97) | Account identification |
| ABA Routing Number | United States | Numeric | 9 digits | Yes (weighted sum) | Bank/branch identification |
| UK Sort Code | United Kingdom | Numeric (XX-XX-XX) | 6 digits | No | Bank/branch identification |
| SWIFT/BIC | 200+ (global) | Alphanumeric | 8 or 11 characters | No | Institution identification |
| India IFSC | India | Alphanumeric | 11 characters | No | Bank/branch identification |
| Canada Transit + Institution | Canada | Numeric | 8 digits (5+3) | No | Bank/branch identification |
| Australia BSB | Australia | Numeric (XXX-XXX) | 6 digits | No | Bank/branch identification |
| Japan Zengin | Japan | Numeric | 7 digits (4+3) | No | Bank/branch identification |
As the table shows, the IBAN and ABA routing number systems are the only major formats that include a built-in checksum for error detection. This is one reason why IBAN has become the international standard — the check digit algorithm catches typos before they cause failed payments.
The global landscape of bank number formats is gradually converging toward greater standardisation, driven by three major trends:
Despite these convergence trends, national bank number systems remain deeply embedded in domestic payment infrastructure. Full standardisation on a single global format remains unlikely in the foreseeable future, making it essential to understand the specific requirements of each country you send money to.
No matter which bank number format you are working with, validating the details before initiating a transfer is the best way to avoid errors, delays, and lost funds. BankCheck supports validation for the most widely used formats:
Or use our universal bank number checker — paste any bank number and we will automatically detect the format, validate it, and show you a detailed breakdown. All validation runs client-side, so your data never leaves your browser.
Back to all guides.