IBAN Toolkit logoIBAN Toolkit

SWIFT/BIC Code Generator

Generate structurally valid test BIC codes and check BIC formatting. Free, instant, private.

Generate test BIC codes

Validate a BIC

Checks ISO 9362 structure (not live existence).

How this tool works

This tool is designed for testing, education and workflow prototyping. It validates or generates structurally correct values based on published format rules and clearly states where no live-bank lookup is performed.

What is a SWIFT/BIC code?

A SWIFT code (officially BIC: Business Identifier Code, ISO 9362) identifies a specific bank or branch in international transfers. It travels alongside the IBAN: the IBAN says which account, the BIC says which bank.

Anatomy of a BIC

PartCharsExample (DEUTDEFF)
Bank code4 lettersDEUT (Deutsche Bank)
Country code2 lettersDE (Germany)
Location code2 alphanumericFF (Frankfurt)
Branch code3 alphanumeric (optional): (“XXX” = head office)

Test BICs vs real BICs

This generator produces codes with valid structure but random bank identifiers: perfect for testing parsers, form validation, and database schemas. They are not checked against the live SWIFT/BIC directory and may coincidentally match an assigned code. The validator above checks structure only; confirming a BIC is live requires the official SWIFT directory or your bank.

Common uses

  • Testing “find my BIC” and bank-lookup UI flows.
  • Seeding fintech sandboxes with plausible correspondent-banking data.
  • Teaching how IBAN + BIC work together in SEPA and SWIFT transfers.

Frequently asked questions

Yes. BIC (Business Identifier Code) is the official ISO term; SWIFT code is the everyday name after the network that manages them.
Within SEPA, the IBAN alone is usually enough (BIC is derived automatically). Outside SEPA, you typically need both IBAN and BIC.
XXX is the branch code for the bank's head office / primary branch.
The generator only guarantees structural formatting; it does not check the live BIC directory. Never use generated values in real payment instructions.
Testing and educational use. Generated identifiers are synthetic and are not checked against live bank directories. A randomly generated value can coincidentally resemble or match a real identifier. Never use generated data for real payments, account applications, identity verification, or to represent a real person or institution.