Finance & Money

Test Bank Account / IBAN Generator

Generate a correctly-formatted test IBAN or US routing/account number — with a real, valid checksum — for testing banking and payment forms.

Cryptographically secure Instant, in your browser Free, no sign-up

Generate

Your result will appear here

How the Test Bank Account / IBAN Generator works

The IBAN check digits are computed using the real mod-97 algorithm defined in ISO 13616 — the bank and account portion (BBAN) is randomly generated, then the two check digits are calculated exactly the way a real bank would, using the same digit-rearrangement and modulo-97 process. The US routing number's final digit is similarly computed using the real ABA checksum formula banks use to catch typos.

Unlike a card number, an account or routing number alone cannot be used to withdraw funds or make a charge — both are considered less sensitive and are routinely printed on physical checks or shared openly to receive a bank transfer. That's part of why generating correctly-formatted test versions is safe: this is format and checksum validation data, not a credential that grants access to money.

How to use it

1
Choose a formatIBAN style (UK, Germany, or France) or a US routing + account number pair.
2
GenerateXrandom builds a correctly structured number and computes a genuinely valid checksum using the real algorithm for that format — not just random digits that happen to look right.
3
Use it for testingPaste it into your own form or API to test validation logic, formatting, and checksum verification code.
📖 Guide: A Developer's Guide to Safe Test Data
Advertisement

Frequently asked questions

Is this a real, active bank account?

No — the bank/branch and account digits are randomly generated; a valid checksum only means the number is correctly formatted, not that it corresponds to any real account.

Could this accidentally match a real IBAN?

It's mathematically possible but astronomically unlikely given the size of the random account-number space; this is generated purely for structural testing, not to target any real account.

Why compute a real checksum instead of just random digits?

Testing your own validation code against a genuinely valid checksum (and, separately, against an invalid one) is what actually proves your form correctly implements the real algorithm, rather than just accepting anything that looks number-shaped.