A US bank routing number (ABA routing transit number) is the 9-digit code that identifies a financial institution in ACH and wire transactions. Before you submit a routing number in a payment form or store it in a database, you can confirm it is structurally valid with the ABA modulus-10 checksum. This free validator runs that exact check in your browser.
How it works
The ABA check digit algorithm uses repeating weights 3, 7, 1:
- Take the 9 digits
d1 d2 d3 d4 d5 d6 d7 d8 d9. - Multiply by weights:
3·d1 + 7·d2 + 1·d3 + 3·d4 + 7·d5 + 1·d6 + 3·d7 + 7·d8 + 1·d9. - Sum the products.
- The routing number is valid if the sum is divisible by 10 (remainder 0).
The first two digits also encode the Federal Reserve routing symbol, which this tool decodes into a district description.
Example
Validate 021000021: the weighted sum is (3·0)+(7·2)+(1·1)+(3·0)+(7·0)+(1·0)+(3·0)+(7·2)+(1·1) = 14+1+14+1 = 30. 30 mod 10 = 0, so the routing number passes the checksum.
Notes
A passing checksum means the number is well-formed, not that it belongs to a live, active institution — for that, check the Federal Reserve’s E-Payments Routing Directory. The check digit catches most single-digit typos and transpositions, which is exactly what you want before triggering an ACH transfer. Everything runs locally; the routing number never leaves your device.