This test IBAN generator produces structurally valid IBANs — correct
length for the country, and a real MOD-97 checksum — for use as development or QA test
data. Nothing here is a real bank account.
How to use it
Pick a country, choose how many you need, and click "Generate". Each result independently
passes the same MOD-97 checksum this site's IBAN validator
checks — paste any of them in there to confirm.
How valid-but-fake IBANs are constructed
An IBAN's check digits are a deterministic function of the rest of the number, defined by
ISO 7064's MOD-97-10 algorithm. This tool fills the account portion with random digits (and
random letters where a country's format calls for them, like the Netherlands and UK), then
solves the same formula banks use to compute the two check digits — producing a number
that's checksum-valid without being tied to any real account.
What this is (and isn't) useful for
Useful for: seeding a staging database, exercising IBAN-format validation in a signup or
payment form, writing unit tests. Not useful for: actually sending or receiving money — no
bank will recognize these account numbers.
Frequently asked questions
Are these real bank accounts?
No. The account digits are random — this tool only guarantees the result has the correct length and check digits for its country, exactly like a real IBAN's structure, but it isn't linked to any actual bank or account. Never use a generated IBAN for a real payment.
Why would I want a "valid" fake IBAN?
Plenty of software validates IBAN structure (length + MOD-97 checksum) before accepting it — signup forms, payment integrations, test fixtures, seed data for a staging database. A random string usually fails that validation; this tool generates strings that pass it, so you can test the rest of your flow.
How is the checksum generated, not just verified?
It's the same MOD-97 formula run in reverse: build the account body, temporarily set the check digits to a placeholder, compute what remainder the real algorithm would need to see, and solve for the two check digits that produce a remainder of 1 — the condition every valid IBAN satisfies.
Why do Dutch and UK IBANs start with letters in the middle?
Both countries encode a 4-letter bank code as part of the account number (BBAN) itself, not just the country prefix — so a realistic-looking test IBAN for NL or GB includes 4 random letters in that position, matching the real format banks issue.
Does this tool send anything to a server?
No. Generation happens entirely in your browser using JavaScript — nothing is transmitted, logged, or stored.