Free NACHA file generator
Build a valid NACHA file in your browser.
Fill in batches and entries: the builder writes every 94-character record, works out the totals, entry hash and block padding, and checks the file against the NACHA rules as you type. It all runs in your browser; the REST API is optional.
- Control totals & entry hash
- Next-banking-day dates
- Live record preview
Start a file
Begin from a template with example data, or from scratch.
100% in-browser.
What you type never leaves this device.
Generated on your device
JavaScript on this page writes the file. Nothing you enter is uploaded, stored or transmitted.
No account, no key
The builder and the REST API are free. No sign-up, no API key.
Open about usage
Our public analytics count files generated — never what they contain.
Calculated for you
The control record, worked out.
Every batch closes with a control record that counts, totals and hashes the entries above it. One wrong digit and the bank rejects the file. The builder computes it from your entries, and shows its work.
- Entry/addenda count
- 000004
- 4 entries + 0 addenda records
- Entry hash
- 0042408482
- 02100002 + 02600959 + 12100024 + 25607497
- Total credits
- 000000819210
- $8,192.10 across four credits
- Routing & IDs
- Amounts
- Dates
- Names & text
- Codes
- Reserved
What it handles
The fiddly parts of NACHA, handled.
NACHA files are unforgiving: fixed positions, exact padding, totals that have to agree to the cent. You enter the payments; the builder does the bookkeeping.
- 01
Fixed-width field formatting
Every value padded, justified and uppercased into its exact positions.
- 02
Batch and file header/footer generation
Headers from your settings, control records from your entries.
- 03
Control total calculations
Debit and credit totals for every batch and for the file.
- 04
Hash sum calculations
Routing prefixes summed into the entry hash, last ten digits kept.
- 05
Record count tracking
Entry/addenda counts, batch count and block count, always in step.
- 06
Block padding
Records of nines fill the last block to a multiple of ten.
Why use it
Right the first time, before your bank looks.
Spreadsheets and hand-edited files fail at the bank for small reasons: a stale effective date, a total that’s a cent off, a missing block of nines. The builder catches them while you work.
No. 01
Validation
Comprehensive validation as you type: required fields, formats, routing check digits, effective dates and totals — the same rules the API applies.
No. 02
Automatic calculations
All control totals, hash sums and record counts are calculated automatically, with batch and trace numbers assigned for you.
No. 03
Downloadable files
Download ready-to-use NACHA files (.ach or .txt, LF or CRLF) that can be submitted to financial institutions.
No. 04
A free REST API
The same engine over HTTP. POST the JSON the builder exports to /api/v1/nacha/generate — no API key, no account.
NACHA File Generator API
Generate compliant NACHA files from your own code.
Prefer to automate? Send the same JSON the builder exports to the REST API and get the file back. The builder never needs it.
- No API key. An
X-API-Keyheader from older clients is accepted and ignored. /generatereturns the file;/validatesays what’s wrong.- Requests are processed in memory, never stored or logged.
POST /api/v1/nacha/generate HTTP/1.1
Host: nacha-navigator.com
Content-Type: application/json
{
"file_header": {
"immediate_destination": "123456780",
"immediate_origin": "1234567890"
},
"batches": [
{
"batch_header": {
"service_class_code": "200",
"company_name": "COMPANY ABC",
"company_id": "1234567890",
"standard_entry_class": "PPD",
"company_entry_description": "PAYROLL",
"originating_dfi_id": "123456780"
},
"entries": [
{
"transaction_code": "22",
"receiving_dfi_id": "021000021",
"dfi_account_number": "123456789",
"amount": "100000",
"individual_name": "JOHN DOE"
}
]
}
]
}The response is the file itself: text/plain, saved as nacha_file.txt.
Related tools
More free tools for payment files.
The same private, in-browser approach for the other formats that land on an operations desk.
ACH · NACHA files
NACHA Viewer
Decode every record field by field, check control totals, hashes and routing check digits, and build reversal files.
.ach · .txt
- New
X9.37 · Image cash letter
X9 Viewer
Open X9.37 check image files in your browser: every item’s front and back images, its MICR line and the records behind it.
.x9 · .x937 · .icl
BAI2 · Balance reporting
BAI2 Viewer
Turn BAI2 bank reports into readable account summaries and transaction detail, with every type code explained.
.bai · .bai2 · .txt