SWIFT Code vs Routing Number vs Sort Code vs Clearing Code

Payments teams often treat “bank code” as one field. In production, four different identifier families appear depending on country, currency, and rail. Mixing them — for example sending a US ABA where a SWIFT BIC is required — produces rejects that beneficiary validation alone will not catch if your rules only check format, not semantic role. Comparison at a glance | Identifier | Typical format | Primary use | Example | |------------|----------------|-------------|---------| | SWIFT / BIC | 8 or 11 characters: AAAABBCC or AAAABBCCXXX | International routing, correspondent banking | e.g. DEUTDEFF | | ABA routing (US) | 9 digits | US domestic ACH/wire routing | e.g. 021000021 | | UK sort code | 6 digits, often shown as XX-XX-XX | UK domestic FPS/CHAPS/BACS | e.g. 40-05-15 | | Clearing / local code | Varies (IFSC, BSB, bank code in IBAN, etc.) | Domestic clearing within one jurisdiction | e.g. HDFC0001234 | Operator insight: Validating “looks like a BIC” is not enough. You must know which identifier the selected rail expects — SEPA may be IBAN-only while US SWIFT still needs ABA + account. SWIFT / BIC — international bank identity A BIC (often called SWIFT code) identifies a financial