Routing Number Validator
Finance & Global IDsValidate US ABA routing numbers using the official checksum algorithm instantly. Decodes the Federal Reserve district and institution type — client-side only.
What is a Routing No.?
The Routing Number Validator checks whether a US ABA routing number satisfies the official 3-7-1 weighted checksum algorithm and uses a valid Federal Reserve district prefix. A routing number is the 9-digit identifier that tells the US financial system which bank holds an account — used in ACH direct deposits, wire transfers, automatic bill payments, and cheque processing.
The validator performs two checks:
- Federal Reserve district prefix — the first two digits must be one of the 24 valid district codes (01–12 for standard institutions, 21–32 for electronic-only participants)
- ABA 3-7-1 checksum — the weighted sum
3(d1+d4+d7) + 7(d2+d5+d8) + 1(d3+d6+d9)must be divisible by 10
These checks catch the most common errors: digit transpositions (which almost always break the checksum), wrong digit count, and account number accidentally entered instead of routing number.
What it does not check: Whether the specific routing number is currently assigned to an active financial institution. The checksum confirms the number was issued correctly by the ABA; active assignment requires querying the Federal Reserve's E-Payments Routing Directory. Use the IBAN Validator for European bank accounts and the IFSC Code Validator for Indian NEFT/RTGS routing.
All validation is client-side. No data is transmitted.
How to use this Routing No. calculator
- Enter the routing number in the input field — exactly 9 digits (e.g. 021000021).
- Check the Valid/Invalid badge — updates instantly.
- Read the details — Federal Reserve district and checksum result.
- If invalid: check for transposed digits and verify against the bank's official routing number page.
- If you need active institution verification: query the Federal Reserve's E-Payments Routing Directory.
Formula & Methodology
ABA 3-7-1 checksum:checksum = 3×(d1+d4+d7) + 7×(d2+d5+d8) + 1×(d3+d6+d9) valid if: checksum % 10 === 0Where d1 through d9 are the individual digits left to right. Example: 021000021d = [0, 2, 1, 0, 0, 0, 0, 2, 1] 3×(0+0+0) + 7×(2+0+2) + 1×(1+0+1) = 3×0 + 7×4 + 1×2 = 0 + 28 + 2 = 30 30 % 10 = 0 ✓ ValidFederal Reserve district codes: | Prefix | Federal Reserve Bank | |---|---| | 01 | Boston | | 02 | New York | | 03 | Philadelphia | | 04 | Cleveland | | 05 | Richmond | | 06 | Atlanta | | 07 | Chicago | | 08 | St. Louis | | 09 | Minneapolis | | 10 | Kansas City | | 11 | Dallas | | 12 | San Francisco | | 21–32 | Electronic-only equivalents | Valid and invalid examples: | Routing Number | Valid? | Note | |---|---|---| |021000021| ✓ | JPMorgan Chase NY — checksum passes | |021000012| ✗ | Transposed last two digits — checksum fails | |12345678| ✗ | Only 8 digits | |099999999| ✗ | Prefix 09 not a valid Federal Reserve district |
Frequently Asked Questions