NACHA File to Excel Converter: Convert ACH Files to CSV and Excel

A NACHA ACH file is 94 characters per line with no delimiters, amounts that hide their decimal point, and six record layouts stacked in one file. Upload it and BankXLSX writes one row per entry with the amount fixed, the batch details carried down, and routing and trace numbers kept as text. Start free, no credit card.

Free to try, no credit card
256-bit encryption
NACHA, ACH, BAI2, and PDF statements

PDF, JPG, PNG, BMP, HEIC, TIFF, MT940

Upload your bank statement

Extract:

Why an ACH File Will Not Open Properly in Excel

A NACHA file was built for bank software to read, not people. Excel will open it, but almost everything that makes the file useful is lost or quietly corrupted on the way in. These are the six problems that bite treasury and AP teams most often.

No Delimiters at All

Every line is exactly 94 characters of fixed-width text with no commas or tabs, so Excel drops the whole line into one cell unless you define every column break by hand.

The Decimal Point Is Missing

Amounts are stored as ten zero-filled digits with two implied decimals, so $123.45 sits in the file as 0000012345 and Excel imports it as 12345, off by a factor of 100.

Six Layouts in One File

File header, batch header, entry detail, addenda, batch control, and file control records all share the same 94 columns but mean completely different things, so one import scheme cannot be right for all of them.

Leading Zeros Get Destroyed

Routing, account, and trace numbers are zero-padded numeric fields. Excel strips the leading zeros and flips long account numbers into scientific notation, which corrupts them permanently.

Batch Context Never Reaches the Rows

The company name, SEC code, entry description, and effective entry date live on the batch header, not on the entries, so a flat import leaves every transaction with no company or date attached.

Filler Rows of Nines

ACH files use a blocking factor of 10 and are padded with lines of 9s to reach a multiple of ten, so you get meaningless rows mixed in with real payment data.

How BankXLSX Converts Your NACHA File to Excel

Upload the ACH file and the converter reads each record type on its own terms, then flattens the whole thing into one table you can sort, filter, and reconcile immediately.

One Row Per Entry

Each type 6 entry detail record becomes a single row with transaction code, routing number, account, amount, individual name, and trace number in their own columns.

Amounts Get Their Decimal Back

The implied two decimals are restored so 0000012345 reads as 123.45 and your totals tie to the batch and file control records instead of being 100 times too big.

Account Numbers Stay Intact

Routing, account, and trace numbers are written as text so leading zeros survive and nothing turns into scientific notation.

Batch Details Carried Down

Company name, company ID, SEC code, entry description, and effective entry date are joined from the batch header onto every entry underneath it.

Excel or CSV Output

Download a real .xlsx workbook for analysis or a clean CSV you can load into QuickBooks, NetSuite, Sage, or a treasury system.

Private by Default

ACH files carry live bank account numbers. Uploads use 256-bit encryption and you can delete your files whenever you want.

Convert a NACHA File to Excel in 3 Steps

Nothing to install and no credit card to start.

1

Save as Text

ACH files arrive as plain text with extensions like .ach, .txt, or no extension at all. If yours is not .txt, rename the copy so the uploader accepts it.

Tip: Renaming does not change the data.

2

Upload

Drag the file into the box above. The converter reads the 1, 5, 6, 7, 8, and 9 records and skips the 9-filler padding lines.

Tip: Multi-batch files are fine.

3

Download and Tie Out

Save as XLSX or CSV, then check your total debits and credits against the batch control and file control records.

Tip: Matching totals prove nothing was dropped.

Who Converts NACHA Files to Excel

ACH files move payroll, vendor payments, and collections, so the people opening them are usually verifying money before it leaves or researching an entry after it did. Nacha reported 35.2 billion ACH Network payments worth $93 trillion in 2025, which is a lot of files that eventually need checking.

Treasury Analysts

Prove an originated file matches what the bank received, and research exceptions without squinting at fixed-width text.

AP Teams

Confirm a CCD vendor payment file went out with the right amounts and accounts, and keep an audit-ready payment register.

Payroll Managers

Review a PPD payroll file before it is released, or trace a single direct deposit that did not land.

ERP and Implementation Consultants

Validate the ACH output your client's ERP generates against the bank spec during a go-live, line by line.

Auditors and Forensic Accountants

Sample-test a payment population, trace individual entries, and evidence completeness against the control totals.

Bank and Credit Union Operations

Troubleshoot a rejected corporate file and show the customer exactly which field failed.

Common Search Terms

nacha file to excel converter convert nacha file to excel ach file format nacha file format nacha file layout how to open a nacha file

Transaction Types We Handle

Direct deposit credits
Vendor payment debits and credits
Prenotifications
Returns and notifications of change
Addenda remittance detail
Batch control totals
Zero dollar entries
Same Day ACH entries

What is a NACHA file?

A NACHA file is the fixed-width text file US banks and businesses use to move ACH payments: payroll direct deposits, vendor payments, insurance premiums, and collections. Nacha's own developer guide puts it plainly, an ACH file is a fixed-width ASCII file with each line exactly 94 characters long. Payroll systems and ERPs generate one, the originating bank passes it to an ACH Operator, and the receiving bank posts the entries. People call it an ACH file and a NACHA file interchangeably. They mean the same thing, since NACHA is the rule-making body whose format the file follows.

NACHA file format: the records inside

Every ACH file is a nest of records, each starting with a one digit code that tells software what the line is. A file holds one or more batches, each batch holds its entries, and every header record has a matching control record that closes it. Here is what each code marks.

Record codeRecord nameWhat it carries
1File HeaderImmediate destination and origin, file creation date and time, record size, blocking factor.
5Batch HeaderService class, company name and ID, SEC code, entry description, effective entry date.
6Entry DetailOne payment: transaction code, routing, account, amount, name, trace number.
7AddendaUp to 80 characters of payment related remittance information for the entry above.
8Batch ControlEntry count, entry hash, total debits and credits for that batch.
9File ControlBatch count, block count, entry count, and the file level debit and credit totals.

Two structural rules explain most of the confusion. Alphanumeric fields are left justified and space padded, while numeric fields are unsigned, right justified, and zero filled. And ACH files use a blocking factor of 10, so the file is padded with lines of 9s until the line count is a multiple of ten.

What is inside an ACH entry detail record

The type 6 record is the one you actually want in a spreadsheet, because it is the payment. Per published bank ACH specifications, the standard CCD and PPD entry detail layout divides those 94 characters like this.

PositionsFieldNotes
01Record Type CodeAlways 6 on an entry detail record.
02-03Transaction CodeSays checking or savings, credit or debit.
04-11Receiving DFI IdentificationFirst eight digits of the receiving bank routing number.
12Check DigitNinth routing digit, so 04 to 12 is the full routing number.
13-29DFI Account Number17 characters, left justified and space padded.
30-39AmountTen digits, zero filled, with two implied decimals.
40-54Individual Identification NumberEmployee or customer reference set by the originator.
55-76Individual Name22 characters. CTX files use this space differently.
77-78Discretionary DataOptional, defined by the originator.
79Addenda Record Indicator1 means a type 7 addenda follows this entry.
80-94Trace NumberUnique and ascending within the batch.

One warning worth repeating. A CTX entry uses positions 55 to 76 for the addenda count and the receiving company name rather than an individual name, so a converter that assumes every file is PPD will mislabel a corporate trade exchange file.

ACH transaction codes you will see in the data

The two digit transaction code at positions 02 and 03 is what tells you whether money moved in or out and from which kind of account. These are the ones that show up in most corporate files.

CodeMeaningTypical use
22Checking creditPayroll direct deposit, vendor payment out.
23Prenote of checking creditZero dollar account validation.
27Checking debitCollections, autopay pulls.
28Prenote of checking debitZero dollar account validation.
32Savings creditDeposit to a savings account.
37Savings debitDraw from a savings account.
21Return or notification of changeApplies to codes 22, 23, and 24.
26Return or notification of changeApplies to codes 27, 28, and 29.

SEC codes in the batch header

The three letter Standard Entry Class code at positions 51 to 53 of the batch header says what kind of authorization sits behind the entries. It matters when you convert, because it changes how the entry rows should be read.

SEC codeWhat it means
PPDPrearranged payment or deposit to a consumer account, such as payroll direct deposit or a recurring bill payment.
CCDCorporate credit or debit between businesses: vendor payments, cash concentration, funding a payroll account.
CTXCorporate trade exchange, which supports up to 9,999 addenda records carrying full ANSI ASC X12 remittance data.
WEBInternet or mobile initiated. Debits authorized online, and credits used for person to person transfers.
TELConsumer debit authorized orally over the telephone.
IATInternational ACH transaction, where a party to the payment sits outside US jurisdiction.

What changed in ACH files for 2026

Two rule changes are worth knowing before you review a current file. As of March 20, 2026, two company entry descriptions became mandatory in the batch header at positions 54 to 63: PAYROLL on PPD credits that pay wages or salaries, and PURCHASE on WEB debits for e-commerce purchases. If you are converting files to check compliance, that field is now a real test rather than free text.

Nacha also phased in fraud monitoring requirements during 2026. Phase 1 took effect March 20, 2026 for all ODFIs and for larger non-consumer originators, third-party senders, and receiving institutions. Phase 2 extended the requirement in June 2026 to all non-consumer originators, third-party senders and service providers, and all receiving institutions regardless of volume. Separately, the Same Day ACH limit is still $1 million per payment; Nacha has approved an increase to $10 million, but that does not take effect until September 17, 2027.

From an ACH file to your accounting or treasury system

Once the entries are rows, the rest is ordinary spreadsheet work. For the manual routes as well, including the fixed-width import and a Power Query approach, see our full walkthrough on how to open a NACHA ACH file in Excel or convert it to CSV. Going the other direction, building a file rather than reading one, is covered in how to create a NACHA file in Excel. If your bank also sends balance reporting, the BAI to Excel converter handles those files, and the MT940 to Excel converter covers SWIFT statements. Loading the result elsewhere? Map it through the bank statement OFX converter, the QuickBooks QBO format, or, for enterprise teams, the NetSuite bank statement converter and the SAP bank statement converter. If you only have the PDF statement rather than the ACH file, the general bank statement converter produces the same structured rows, and bank statement reconciliation covers the tie-out.

After the data is in a spreadsheet

Most teams do not stop at Excel. If the next step is QuickBooks Online, you can turn the exported file into an importable QBO with a CSV to QBO converter. Finance teams that need to chase the invoices behind those vendor payments can automate the follow-up with accounts receivable automation, and teams processing other finance documents at volume can extract them with enterprise document OCR.

Why People Pick BankXLSX for ACH File Conversion

94
character records parsed correctly
Multi
batch files flattened for you
Under 1 min
to convert a typical file

Security & Privacy

  • 256-bit encryption on every upload
  • Delete your files at any time
  • No reselling or sharing of your financial data
  • Runs in your browser, nothing to install

NACHA File to Excel: Common Questions

A NACHA file is the fixed-width text file used to send ACH payments such as payroll direct deposits and vendor payments. Each line is exactly 94 characters, and the file is organized into batches of entries wrapped by header and control records. It is built for banking software, so it does not open cleanly in Excel until you convert it.

You can open it as fixed-width text and define column breaks by hand, but you have to do that separately for each record type and then repair the amounts and leading zeros. Uploading the file to BankXLSX is faster: it reads every record type, restores the decimals, and gives you one row per payment.

Rename the file to .txt if it has an .ach extension or none, upload it to BankXLSX, and download the result as CSV. Each entry detail record becomes a row with transaction code, routing number, account, amount, name, and trace number, plus the company and effective date pulled down from its batch header.

There is no practical difference. ACH describes the payment network, and NACHA is the association whose operating rules define the file format that network uses. People say ACH file, NACHA file, and NACHA formatted file to mean the same 94 character fixed-width payment file.

ACH amounts are stored as ten zero-filled digits with two implied decimal places, so $123.45 is written as 0000012345. There is no decimal character in the file at all. Excel reads that as twelve thousand three hundred forty five unless the value is divided by 100 during conversion.

There are six: 1 file header, 5 batch header, 6 entry detail, 7 addenda, 8 batch control, and 9 file control. Records 1 and 9 wrap the whole file, records 5 and 8 wrap each batch, and the 6 and 7 records in between carry the actual payments and their remittance information.

Find the type 6 entry detail lines, then read positions 04 to 12 for the routing number, 13 to 29 for the account, and 30 to 39 for the amount with two implied decimals. Confirm the batch adds up by comparing your totals to the total debit and credit fields in the type 8 batch control record.

ACH files contain live bank account and routing numbers, so treat them carefully. BankXLSX encrypts uploads with 256-bit encryption, never resells or shares your financial data, and lets you delete uploaded files whenever you want. Check your own internal policy before uploading production payment files.

Related Resources

Other Bank Statement Converters

ICICI Bank JPMorgan Chase Bank of America Citigroup Wells Fargo Goldman Sachs Morgan Stanley U.S. Bancorp PNC Financial Services Truist Capital One TD Bank Charles Schwab Fidelity Vanguard E*TRADE TD Ameritrade Bank of New York Mellon State Street BMO USA Ally Financial Regions Fifth Third Bank Huntington KeyBank Citizens Financial Group First Citizens Synchrony Financial M&T Bank First Horizon Cathay Bank USAA Navy Federal Comerica Zions Bank East West Bank First National of Nebraska Cullen Frost Bankers BOK Financial Fulton Financial Associated Banc-Corp Valley National Wintrust Financial First Midwest Bancorp Commerce Bancshares UMB Financial Pinnacle Bank Webster Bank Cadence Bank Old National First Interstate BancSystem Umpqua Bank First Hawaiian Bank Prosperity Bank SouthState First Merchants First Bank Holding Glacier Bank First Financial Bancorp Independent Bank Columbia Banking System Western Alliance Pacific Premier Bancorp Bank OZK United Community Banks Customers Bank Texas Capital SVB Financial Group Signature Bank First Republic Bank New York Community Bancorp Sterling Bancorp First Bank Bank United First Commonwealth Financial Flagstar Bank Synovus Bank Santander Bank Commonwealth Bank (CommBank) ANZ Bank Westpac NAB ServisFirst Bancshares Renasant Corporation Simmons First National Trustmark Corporation First Busey Community Bank System First Mid Bancshares Ameris Bancorp Hancock Whitney First BanCorp Third Coast Bancshares Home Bancshares Byline Bancorp Simmons Bank United Bankshares Peoples United Financial American Express HSBC Bank USA

From the same family of tools