Skip to content

About

About NACHA Navigator

Free tools and references for U.S. payment files: NACHA (ACH) files, X9.37 image cash letters and BAI2 balance reports. The files you open are read in your browser and never uploaded.

Last updated

What NACHA Navigator is

NACHA Navigator is built for the people who handle payment files: bank and credit union operations staff, payroll and treasury teams, and the developers who build and debug payment integrations. It shows what is in a file field by field, checks it against the format’s rules, and explains the formats in plain language.

ToolWhat it does
NACHA ViewerParse, validate and reverse ACH files
ACH ReversalReverse entries or a whole ACH file
X9 ViewerX9.37 check images and MICR data
BAI2 ViewerBank balance and transaction reports
NACHA GeneratorBuild NACHA files with a form or the REST API
Reference pagesRecord layouts, codes, validation rules and sample files
REST APIGenerate and validate NACHA files from JSON, with no API key
MCP serverThe reference data and the generator, for AI apps

How your files stay on your device

The viewers read files with JavaScript in your browser. A file you open is decoded and checked on your device. It is never uploaded, stored or logged, and it isn’t written to browser storage either: close or reload the tab and it is gone.

Your browser enforces this. Every page with a viewer is served with a Content Security Policy whose connect-src 'self' directive lets the page connect only to nacha-navigator.com, so it can’t send your file to any other site, even by mistake.

You can check both in your browser’s developer tools. In the Network tab, reload and select the page itself: its response headers include the Content-Security-Policy. Then open a file and watch the requests: the only ones are for the site’s own code and an anonymous counter that says a file was opened.

What the server receives

Like any website, the site’s host, Cloudflare, sees each connection, including your IP address, to deliver the pages and block abuse. NACHA Navigator’s own code receives only this:

  • Anonymous counters. When you open a page or use a tool, the page sends the name of the event, such as page:home, and nothing else. The totals are public on the analytics page.
  • API and MCP requests. What you send to the REST API or the MCP server is processed in memory to build the answer, and is never stored or logged. Rate limits use the caller’s IP address briefly; it isn’t kept.
  • Donations. They go through Stripe. Card and bank details go from Stripe’s payment form straight to Stripe and never reach our server.

When a request fails, the server logs the error with the request’s method and path, and the log is kept for up to seven days. The privacy policy has the details, including every counter by name.

Independence

NACHA Navigator is an independent site. It is not affiliated with or endorsed by Nacha, the Accredited Standards Committee X9 or BAI, which publish the rules and specifications its tools follow. “NACHA” in its name refers to the file format.

Nothing on the site is legal or compliance advice. The Nacha Operating Rules and the published standards are authoritative, and your financial institution’s requirements govern the files you send it.

Sources and editorial policy

The record layouts, codes and checks come from primary sources:

FormatSources
NACHA (ACH) filesThe Nacha Operating Rules (opens in a new tab), Nacha’s public rule pages and its ACH developer guide (opens in a new tab); the Federal Reserve’s FedACH documentation; and the Treasury’s Green Book for federal government payments.
BAI2 filesBAI’s Cash Management Balance Reporting Specifications, Version 2 (opens in a new tab) (2005, PDF). The type-code list was ported from the open-source ministryofjustice/bai2 (opens in a new tab) project (MIT License) and checked against that specification.
X9.37 filesANSI X9.100-187 (opens in a new tab) (the 2008 to 2016 editions) and the older DSTU X9.37-2003, checked against the Federal Reserve’s DSTU X9.37-2003 customer documentation (opens in a new tab) and banks’ published image cash letter specifications (Regions, Truist). The current edition, X9.100-187-2021 (opens in a new tab), has not been reviewed yet.
  • Rules are described in our own words. The rules and standards are copyrighted, so the site cites and links them and never copies their text.
  • Every reference page shows a “Last updated” date. It changes when the content does, never just to make a page look fresh, and pages are revised when a rule change takes effect.
  • If you find a mistake, email davidkaylor95+nachanav@gmail.com with the page and what’s wrong. Confirmed corrections go on the page, and its date changes with them.

How the tools are tested

Each tool’s parsing and validation code is checked by an automated suite of more than 2,000 tests. Among them:

  • Sample files. The clean samples that come with the viewers must pass with no errors or warnings, and each sample with planted mistakes must report exactly the problems it documents.
  • The NACHA Generator. Files it builds, including randomly generated ones, are checked by the NACHA Viewer’s validator: the generator must never pass a file the viewer fails.
  • The API documentation. Its example requests are run through the API’s own code, and the responses on the page are the ones that code returns.
  • The MCP server. The official MCP TypeScript SDK client connects to it and calls every tool, checking each answer against the protocol’s schemas.

Funding

NACHA Navigator is free, with no account, no ads and no cookies. Donations pay for hosting and development. If the tools save you time, you can support the project.

Sister sites

Two free sister sites cover nearby work:

Contact

Questions, corrections and suggestions: email davidkaylor95+nachanav@gmail.com.

Changelog

DateWhat changed
Added the reference pages, the MCP server, Markdown versions of the pages, and /llms.txt.
Rebuilt on Cloudflare, with the same tools at the same addresses.