NACHA FILE VALIDATOR · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Will your bank accept this ACH file?

Paste or drop a NACHA / ACH file and get every structural error with its line number: record lengths, routing-number check digits, entry hash, debit and credit totals, batch and file control, block padding and effective dates that fall on a weekend or bank holiday. After a hand edit, rebuild the control records in one click and download the corrected file.

The file is read in this browser tab and never leaves your device. Account numbers are masked to their last four digits in the report. Independent of Nacha and of every bank. The record layout is read by position from memory of the public NACHA file format; no bank's own validator was available when this was built.

1. Your ACH file

Usually a .ach, .txt or .dat file exported from payroll, accounting or your bank's payment portal: 94-character lines starting with 1, 5, 6, 7, 8 or 9.

Choose a file or paste the text, then click Validate.

The model, and what it leaves out

Common questions

How do I check an ACH file before I upload it to my bank?

Paste the file or drop it onto this page. It checks every 94-character record against the NACHA layout: record order, field formats, routing-number check digits, the entry hash, debit and credit totals, the batch and file control records and the block padding, then lists each problem with its line number and the likely cause.

What does a NACHA entry hash mean and how is it calculated?

The entry hash is the sum of the 8-digit receiving routing numbers (without check digits) on every entry in a batch, keeping the right-most 10 digits. The file control record carries the same sum across all batches. It is a cheap checksum that lets a bank spot a routing number that changed after the file was built.

Why did my bank reject the file even though it opened in Excel?

The usual causes are a record that is not exactly 94 characters (trimmed trailing spaces), control totals that no longer match after a hand edit, a missing block of 9s to make the record count a multiple of 10, lowercase or accented characters, or a routing number that fails its check digit. This tool tests all of them.

Can this tool fix my ACH file?

It can rebuild the batch control records, the file control record and the blocking records from the entries, which is what is wrong after a hand edit. It never edits an entry: a wrong routing number, account number or amount is a payment decision, so it is reported and left to you.

Is it safe to put a file with bank account numbers into a web page?

The page runs in your browser, the file is read locally and nothing is uploaded; a test in the code asserts there are no network calls. Account numbers are masked to their last four digits in the report and the downloaded findings list. Your own policies still decide whether you may open a payment file in a browser.

What does this not check?

Whether your bank has approved your company ID, your origination limits and cut-off times, same-day eligibility, the rules of every standard entry class, International ACH layouts (only totals and trace numbers are checked), return and correction records, and anything your bank adds on top of the NACHA rules. A clean result is not a promise of acceptance.