Three identifiers show up around bank transfers, and they answer three different questions. The account number answers “which account at this bank?” The BIC answers “which bank?” The IBAN answers both at once, in a standardised, checksummed format. Once you see them that way, knowing which one a form wants becomes straightforward.
The domestic account number
This is the oldest layer: the number your bank assigned to your account, in whatever format your country’s banking system uses. A UK account is an 8-digit number paired with a 6-digit sort code; a German account is a Kontonummer paired with a Bankleitzahl; a Czech account is a prefix and number plus a bank code. Domestic numbers work fine inside their own country’s payment systems, and many countries still use them for local transfers. Their weakness is that they carry no country information and, in many formats, no checksum, so they do not travel well.
The IBAN
The IBAN wraps the domestic details into the ISO 13616 format: two-letter country code, two check digits, then the national part (bank identifier plus account number, arranged per country). Two properties make it powerful. First, it is self-locating: the country code tells every system in the chain where the account lives. Second, it is self-checking: the mod-97 check digits catch nearly all typos before a payment leaves your bank. Your IBAN and your account number are not rivals; the IBAN literally contains the account number.
The BIC (SWIFT code)
The BIC, defined by ISO 9362, identifies an institution, not an account: 4 letters of bank code, 2-letter country code, 2-character location code, and an optional 3-character branch code (8 or 11 characters total). It is how banks address each other on the SWIFT network. Your BIC is the same as every other customer of your bank (or branch); it says nothing about your specific account.
Which do you need for which transfer?
- Domestic transfer: often just the domestic format (sort code + account number in the UK, for instance), though most European banks accept the IBAN domestically too.
- SEPA euro transfer (within Europe): the IBAN alone is normally sufficient. SEPA rules made requiring the BIC unnecessary for most cases (“IBAN-only”), because the bank is derivable from the IBAN.
- International transfer outside SEPA: typically IBAN (or local account format for non-IBAN countries) plus BIC, and sometimes the beneficiary bank’s name and address.
One more thing every sender should know: none of these identifiers proves the account exists or belongs to the person you think. That is what payee-verification services are for; in the EU, banks now match the recipient name against the IBAN before executing euro transfers. Always take payment details from a trusted source, and be suspicious of last-minute “our bank details changed” messages.