ABA Routing Numbers Explained: Structure, Districts & Check Digit
How the 9-digit ABA routing number works: digit groups, Federal Reserve district ranges, the weighted check-digit formula, and ACH vs wire routing.
By FakeName Editorial TeamPublished June 25, 2026Last updated June 25, 20268 min read
An ABA routing transit number (RTN) is a nine-digit code that identifies the U.S. financial institution responsible for a payment. It splits into three parts: a 4-digit Federal Reserve routing symbol, a 4-digit institution identifier, and a single check digit computed from the first eight. The American Bankers Association introduced the format in 1910 to speed check clearing [aba-wikipedia], and it now stamps every check, direct deposit, and ACH payment in the country. This article maps the digit groups, derives the check-digit formula with reproducible arithmetic, lists the Federal Reserve district ranges, and explains why ACH and wire numbers can differ for the same bank.
What are the three parts of a 9-digit routing number?
A routing number breaks into three groups: positions 1-4 are the Federal Reserve routing symbol, positions 5-8 are the ABA institution identifier assigned by the registrar, and position 9 is a computed check digit. Read this way, the flat nine-digit string carries district, bank, and validation information in fixed slots. On a paper check, the RTN sits between two MICR-line symbols at the bottom, with the account number to its right [frb-services-eorder].
| Positions | Group | Digits (example) | What it identifies |
|---|---|---|---|
| 1-2 | Federal Reserve district | 12 | The Reserve district and processing type (here, 12th district / San Francisco) |
| 3-4 | Fed office / routing symbol | 20 | The specific Reserve office and check-processing center |
| 5-8 | ABA institution identifier | 0056 | The individual bank or credit union assigned by the registrar |
| 9 | Check digit | 4 | A computed digit that validates the preceding eight |
The first two digits matter most to a human reader because they reveal the district. Positions 5 through 8 are issued by the official registrar of routing numbers, historically the ABA working with Accuity, now part of LSEG [aba-wikipedia]. The ninth digit carries no independent meaning: it is whatever single value makes the checksum balance, which is why it is always recoverable from the other eight.
What is the routing number check-digit formula?
The check-digit formula is 3(d1+d4+d7) + 7(d2+d5+d8) + (d3+d6+d9) mod 10 = 0, where d1 is the first digit and d9 is the check digit. The repeating weights 3, 7, 1 are applied across the nine positions; if the weighted sum is a multiple of 10, the number is structurally valid [routingnumber-checkdigit]. These specific weights catch 100% of single-digit errors and most adjacent-digit transpositions, the two mistakes people make most often when copying numbers by hand.
| Position | Digit | Weight | Digit x weight |
|---|---|---|---|
| d1 | 1 | 3 | 3 |
| d2 | 2 | 7 | 14 |
| d3 | 2 | 1 | 2 |
| d4 | 0 | 3 | 0 |
| d5 | 0 | 7 | 0 |
| d6 | 0 | 1 | 0 |
| d7 | 5 | 3 | 15 |
| d8 | 6 | 7 | 42 |
| d9 | 4 | 1 | 4 |
| Total | 80 |
The weighted total is 80, and 80 mod 10 = 0, so 122000564 passes. The check digit is also recoverable from scratch. Take the eight-digit prefix 12200056 and leave d9 blank: the partial sum is 3(1+0+5) + 7(2+0+6) + (2+0) = 18 + 56 + 2 = 76. You need 76 + d9 to reach the next multiple of 10, so d9 = 4. Exactly one digit from 0 through 9 ever works, which makes the check digit fully deterministic.
Run the same arithmetic on any candidate with our ABA routing number validator, which applies this formula and flags numbers that fail the modulo-10 test.
The check digit is the last digit of a routing number. It is calculated from the other eight digits using a position-weighted sum, and its only purpose is to detect data-entry errors before a payment is processed.
What do the Federal Reserve district numbers mean?
The first two digits place a bank inside one of the twelve Federal Reserve districts, the regional banks coordinated by the Board of Governors [frb-districts]. Two parallel ranges encode the same twelve districts: 01-12 cover paper and Fedwire items, while 21-32 mirror them for electronic processing, a legacy of the former thrift-institution clearing system. The 1913 Federal Reserve Act fixed the district count at twelve, and it has not changed since.
| Paper / wire prefix | Electronic prefix | Federal Reserve district | Primary Reserve Bank |
|---|---|---|---|
| 01 | 21 | 1st district | Boston |
| 02 | 22 | 2nd district | New York |
| 03 | 23 | 3rd district | Philadelphia |
| 04 | 24 | 4th district | Cleveland |
| 05 | 25 | 5th district | Richmond |
| 06 | 26 | 6th district | Atlanta |
| 07 | 27 | 7th district | Chicago |
| 08 | 28 | 8th district | St. Louis |
| 09 | 29 | 9th district | Minneapolis |
| 10 | 30 | 10th district | Kansas City |
| 11 | 31 | 11th district | Dallas |
| 12 | 32 | 12th district | San Francisco |
The prefix range extends beyond districts. The full set of assigned values is: 00 for U.S. government and federal agency items, 01-12 for the twelve districts (paper and Fedwire), 21-32 for the legacy thrift range (district + 20), 61-72 as Electronic Transaction Identifiers for non-bank processors and clearinghouses (district + 60), and 80 for traveler's checks [aba-wikipedia]. Everything else is unassigned. That gives a fast sanity check: a number starting with 15 (in the unused 13-20 gap) or 45 (in the unused 33-60 gap) cannot be a real ABA number even if its checksum happens to pass.
How do you read the district from an example?
In 122000564, the leading 12 marks the 12th Federal Reserve district (San Francisco), and the third and fourth digits, 20, narrow it to a specific Reserve office and processing center. This shared prefix is why two banks headquartered in the same region often match on the first four digits while differing in positions 5 through 8.
How do ACH and wire routing numbers differ?
A single bank can publish separate routing numbers for ACH and for wires, and picking the wrong one is a common cause of returned payments. The ACH routing number handles automated clearing house batches; the wire routing number handles real-time domestic transfers over Fedwire. They differ because the rails settle differently: ACH moves money in scheduled batches under Nacha rules [nacha-ach], while Fedwire settles each transfer individually with same-day finality [fedwire].
| Attribute | ACH routing number | Wire routing number |
|---|---|---|
| Network | Automated Clearing House (FedACH / EPN) | Fedwire Funds Service |
| Settlement timing | Batched, typically same-day to 1-2 business days | Real-time, same business day |
| Settlement finality | Reversible within network rules | Final and irrevocable once sent |
| Typical use | Direct deposit, payroll, bill pay, e-checks | Large or time-critical transfers, real-estate closings |
| Cost to sender | Low or free | Usually a per-transfer fee |
| Number format | 9-digit RTN, may differ from wire number | 9-digit RTN, may differ from ACH number |
Both numbers follow the same nine-digit structure and the same check-digit formula, so the math alone cannot tell them apart. Use the number your bank labels for the specific transaction: the ACH number on a direct-deposit form, the wire number for a same-day transfer. When a bank uses one number for both, it states so explicitly.
What is the international equivalent of a routing number?
Routing numbers are a U.S.-only convention. Cross-border payments use the IBAN (International Bank Account Number), standardized in ISO 13616:2020, which embeds a country code, a two-digit check pair validated with a mod-97 algorithm, and a country-specific account identifier [iso-iban]. For forms that accept both, validate U.S. fields with our routing-number checker and international fields with the IBAN validator.
How do you generate routing numbers for testing?
To generate routing numbers for testing, use checksum-valid values drawn from non-assigned district prefixes or documented sandbox ranges so they pass client-side validation while routing nowhere. A structure-aware generator beats random nine-digit strings because it exercises the same validation code path as production input, without ever pointing at a real institution. Pair it with clearly fictional account numbers and names.
- Use checksum-valid numbers so they exercise the same code path as production input.
- Prefer reserved or sandbox ranges so the number can never settle a real payment.
- Pair the routing number with clearly fictional account numbers and names.
- Never submit generated numbers to a real ACH or wire instruction.
Fabricated bank details are for testing software and protecting privacy on forms that do not require real financial data. Presenting a fabricated routing number to receive, send, or divert money, or to impersonate a bank, is fraud and is prosecuted as such. Where the law requires genuine verification, supply genuine details.
References & sources
- ABA routing transit number — Wikipedia
- Routing Number Lookup and FedACH Directory — Federal Reserve Financial Services
- Check Digit Calculation for ABA Routing Numbers — RoutingNumber.com
- Federal Reserve Banks and Districts — Board of Governors of the Federal Reserve System
- What is ACH? The Automated Clearing House Network — Nacha
- Fedwire Funds Service — Federal Reserve Financial Services
- ISO 13616-1:2020 Financial services - International bank account number (IBAN) — International Organization for Standardization
Frequently asked questions
How many digits is an ABA routing number?+
Exactly nine. The first eight identify the Federal Reserve routing symbol and the institution; the ninth is a check digit derived from the other eight, so a typo almost always breaks the checksum.
What is the routing number check-digit formula?+
3(d1+d4+d7) + 7(d2+d5+d8) + (d3+d6+d9), taken mod 10, must equal 0 for a structurally valid number. The ninth digit (d9) is chosen specifically to make the sum land on a multiple of 10.
Why does my bank have two different routing numbers?+
Large banks often publish one routing number for ACH (direct deposit, bill pay) and a separate one for domestic wire transfers. They settle through different Federal Reserve services, so always copy the number labelled for your transaction type.
What do the first two digits of a routing number mean?+
They encode the Federal Reserve district and processing type. 00 is government, 01-12 are the twelve districts for paper and Fedwire items, and 21-32 are the same districts flagged for electronic (former thrift) processing.
Is a routing number the same as an IBAN?+
No. A routing number identifies a U.S. financial institution domestically; an IBAN is an international standard (ISO 13616) used to identify accounts across borders, mainly in Europe. Use our /tools/iban-validator for the international equivalent.
Can I generate fake routing numbers for testing?+
Yes, for software testing, QA, and form-filling only. Use sandbox and reserved test ranges that pass the checksum but route nowhere. Using a fabricated or real routing number to move money fraudulently is a crime.