IBAN Toolkit logoIBAN Toolkit

Routing Number Generator

Test US ABA routing numbers with mathematically valid checksums: plus a validator.

Generate test routing numbers

9 digits, valid ABA checksum, random institution.

Validate a routing number

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 an ABA routing number?

US banks are identified by a 9-digit ABA routing transit number: it appears on checks and routes direct deposits, ACH transfers, and wire payments. The 9th digit is a checksum, so not every 9-digit string is a plausible routing number.

The checksum formula

Label the digits d1…d9. A routing number is checksum-valid when:

(3×(d1+d4+d7) + 7×(d2+d5+d8) + (d3+d6+d9)) mod 10 = 0

This generator creates the first 8 digits randomly and computes the 9th to satisfy the formula: so generated numbers exercise your validation logic exactly like real ones.

What the digits mean

  • Digits 1 to 2: Federal Reserve district and processing center.
  • Digits 3 to 4: historically the bank’s district office.
  • Digits 5 to 8: the institution identifier.
  • Digit 9: checksum.

Testing, not banking

Generated numbers are synthetic and are not checked against the official ABA routing-number directory. They are for form validation, sandbox seeding, and QA: never enter them on real payment or payroll forms.

Frequently asked questions

They satisfy the ABA checksum formula, but this tool does not check whether a generated number is assigned to an institution. Treat them as test data only.
They're all 9-digit ABA routing numbers; some large banks use different numbers for ACH vs wire vs check processing. For testing, the format and checksum are what matter.
You can check its checksum, which catches typos. Confirming it belongs to a specific bank requires the official ABA directory or the bank itself.
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.