Sooner or later someone asks: “Great tool, can I download 10,000 of these as CSV? Is there an API?” The answer is no, and since the absence of a feature deserves as much honesty as its presence, here is the reasoning.
The abuse math is lopsided
One structurally valid test IBAN, generated in a browser and stamped with a TEST label, is a developer fixture. Ten thousand of them in a machine-readable file are something else: seed material for fake marketplace sellers, mule-account simulation, invoice-fraud experimentation, or synthetic identities that pass naive format checks. A legitimate tester almost never needs bulk output from a website (more on the real alternative below), while the abusive use cases need exactly that. When a feature’s utility is marginal for the honest audience and central for the dishonest one, the responsible call is not to build it. That is why there is no bulk mode, no CSV or JSON export, and no API here, and why the generator produces values one at a time, visibly labelled, in your browser.
This is not a claim that the absence stops determined bad actors; the algorithm is public and libraries are open source. It is about not being the convenient piece of someone else’s pipeline, and about being able to stand behind every design decision on this site.
What you should actually use in CI
Here is the honest part: if you need IBANs in automated tests, a website is the wrong tool anyway, even a friendly one. Your CI should not depend on a third-party page. Generate the values inside your test code:
- JavaScript/TypeScript: ibantools, the same library family this site builds on, offers
composeIBANand full validation. Construct a BBAN from a documented example bank code, compose, done. - Python: schwifty can build IBANs from bank code and account number (
IBAN.generate('DE', bank_code=..., account_code=...)) and validate them, including registry data. - Java/Kotlin: iban4j provides equivalent generation and validation.
Library-generated fixtures are deterministic when you want them to be (fixed inputs), random when you need variety (seeded RNG), reviewable in pull requests, and versioned with your code. That is strictly better than any export button we could offer.
Where this site fits
Use the on-page generator for the human-scale cases: a value to paste into a sandbox form, a fixture for a bug report, a demo, a screenshot, learning how a country’s format works. For anything automated or high-volume, take the library route above. And regardless of source, the ground rules stand: test IBANs are for software testing, they correspond to no real account, and formal validity is never proof that an account exists.