Check a 9-digit ABA routing number with the public 3-7-1 checksum, read its Federal Reserve routing symbol, one-click copy, browser-only
- Runs locally
- Category Developer & DevOps
- Best for Checking file type, size, metadata, and obvious mismatch signals before sharing.
A routing number is exactly 9 digits.
Enter a 9-digit routing number above to check it.
What this tool does
Free routing number validator for US bank routing numbers (ABA numbers). Paste any 9-digit number and it runs the public ABA checksum, the 3-7-1 weighted formula that takes every routing number printed on a US check. The math is plain: weight the first, fourth and seventh digits by 3, the second, fifth and eighth by 7, the third, sixth and ninth by 1, add them up, and a valid number has that total divisible by 10. The tool also reads the first two digits, which are the Federal Reserve routing symbol, and tells you the processing region such as District 11 Dallas or District 2 New York from the public range table. It checks format only and never looks up a specific bank, so a number that passes is well-formed without being a guarantee that a live institution owns it. Everything runs in your browser with one-click copy and a shareable URL.
Tool details
- Input
- Numbers
- The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
- Output
- Live result + Copy
- The result area focuses on usable output, with copy, download, or preview actions when supported.
- Privacy
- Browser-side processing
- The main tool logic does not call an external API, so inputs normally stay in the current tab.
- Save / share
- Shareable URL state
- Key settings are encoded in the URL so another person can reopen the same setup.
- Performance budget
- Initial JS <= 9 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Developer & DevOps · Developer
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How Routing Number Validator fits into your work
Use it before upload, handoff, archive, support review, or any moment where a file needs one local check before it leaves your machine.
File jobs
- Checking file type, size, metadata, and obvious mismatch signals before sharing.
- Preparing mixed folders for upload, archive, intake, or review.
- Keeping sensitive files in the browser instead of sending them to an account-based service.
File checks
- Do not treat the extension alone as proof of the real file type.
- Review metadata before a file goes to customers, vendors, or a public page.
- Keep the original file until the copied, converted, or exported result is verified.
Good next steps
These links move the current task into a more complete workflow.
- 1 IBAN Validator Check any IBAN with the ISO 7064 mod-97 checksum and a 60-country length table, formatted output, one-click copy, browser-only Open
- 2 Credit Card Number List Validator Validate and explain issues in credit card numbers from pasted text or uploaded local files. Open
- 3 Luhn Validator Check any number against the Luhn (mod 10) algorithm, see the doubling math step by step, or compute the missing check digit, all in your browser Open
Real-world use cases
Catch a typo before setting up a direct deposit
You are filling out a payroll or ACH form and typed the routing number off a check. Drop it in here first. If a digit is wrong the checksum fails immediately, and a single transposed pair almost always trips the 3-7-1 formula. Better to see a red verdict here than to have a paycheck bounce back days later because the routing number was one digit off.
Validate a batch source field while writing payment code
Building an ACH integration or a check-import parser? Use the exported isValidRoutingNumber helper as a quick format gate before you call the bank or a paid verification API. Paste sample routing numbers here to confirm your test fixtures actually pass the ABA checksum, so your unit tests assert against numbers that are structurally real rather than random 9-digit strings.
Figure out which Federal Reserve region a number belongs to
You have a routing number and want to know roughly where it clears. The first two digits give you the Federal Reserve routing symbol, so a number starting 11 maps to District 11 Dallas and one starting 02 to District 2 New York. The tool surfaces that region from the public range table, which is handy for sanity-checking that a vendor gave you a domestic US routing number and not something malformed.
Teach how check encoding and the ABA checksum work
Explaining MICR lines, ACH or the ABA algorithm to a class or a new teammate? Type a known routing number and walk through why the checksum lands on a multiple of 10, then change one digit and watch the verdict flip to invalid. The shareable URL reopens the exact example, so you can send a working link instead of a screenshot.
Common pitfalls
Treating a passing checksum as proof the bank exists. The 3-7-1 formula only checks structure. A made-up number like a well-chosen 9-digit string can pass and still belong to no real institution, so never wire money on the strength of a green verdict alone.
Mixing up the routing number with the account number. The routing number is the 9-digit group on the far left of the bottom of a check; the account number is the group next to it. Feeding an account number in here gives a meaningless result because account numbers have no fixed length or ABA checksum.
Entering more or fewer than 9 digits. A US routing number is exactly 9 digits. International bank codes such as SWIFT/BIC or IBAN have completely different formats and lengths, so they will never pass this checker. Strip spaces and confirm the count reads 9 of 9 before trusting the result.
Privacy
The whole check runs as plain JavaScript inside your browser tab: the 3-7-1 checksum, the length test and the Federal Reserve routing-symbol lookup all happen locally, and the routing number never leaves the page or hits any server. A routing number is public information shared by every customer of a bank, so it is not sensitive personal data, but note that the shareable URL encodes the number in the query string. A link you paste into chat will record that number in the recipient server access log, which is fine for a public routing number and something to keep in mind anyway.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- 555 Timer Calculator Astable f = 1.44/((R1+2R2)C) + monostable t = 1.1RC — pick R1, R2, C in Ω/kΩ and µF/nF, read frequency, duty cycle and pulse width — browser-only
- Add Line Numbers Number every line of pasted text — set start, step and separator, zero-pad to align, skip blanks, or strip numbers back off — browser-only
- AES Text Encryptor Encrypt & decrypt text with a password — AES-256-GCM + PBKDF2 via WebCrypto — 100% in your browser, nothing uploaded
- Affine Cipher Encoder & Decoder Encrypt and decrypt the ax+b affine cipher with live modular-inverse check, browser-only