Free BAI2 file viewer
Read any BAI2 file, account by account.
Upload a BAI2 file to analyze its structure and contents: each account’s balances and transactions, every type code explained and every control total checked against the BAI2 specification. It reads BAI version 2 files, and version 3 (BTRS) files with BAI2 code meanings. All processing happens locally in your browser - no data is sent to any server.
- Balances & transactions per account
- Every type code explained
- Control totals checked
Drag & Drop BAI2 File HereOpen a BAI2 file
Or click to browse. Accepts .bai, .bai2 and .txt — any BAI2 text file
More samples:
100% in-browser.
Your file never leaves this device.
Parsed on your device
JavaScript on this page reads the file. Nothing is uploaded, stored or transmitted.
No account, no cost
Every tool is free to use. No sign-up, no paywall, ever.
Open about usage
Our public analytics show exactly what we count — never what your files contain.
Anatomy of a BAI2 file
Commas, codes and continuations, decoded.
BAI2 is comma-delimited: each line starts with a two-digit record code, commas separate the fields and a slash ends the record. Fields have numbers, not positions — the viewer names, decodes and checks every one.
- Routing & IDs
- Amounts
- Dates
- Names & text
- Codes
- Reserved
Lines 07–09 · one transaction
Transaction Detail, field by field
- 1 Record code
16Transaction Detail - 2 Type code
115Lockbox Deposit, a credit - 3 Amount
451257545,125.75 USD — two implied decimals - 4 Funds type
SDistributed availability: three amounts follow - 5 Available now
250000025,000.00 - 6 In one day
150000015,000.00 - 7 In two days or more
5125755,125.75 - 8 Bank reference
LBX204417On the first 88 line - 9 Customer reference
BATCH 0007Spaces are part of the value - 10 Text
LOCKBOX 4417 DEPOSIT, 23 CHECKS …Runs to the end of the record, commas included, across both 88 lines
A short BAI2 primer
Eight record types, one nested report.
BAI2 is how banks report balances and transactions to their corporate customers, typically a final report for the previous day and interim reports during the day. Every file nests the same way.
- 01 File Header Who sent the file and when, the file ID, and version 2.
- 02 Group Header One per originating bank and as-of date: status, as-of date and time, currency.
- 03 Account Identifier Account number, currency, balances (status codes) and summary totals.
- 16 Transaction Detail One per transaction: type code, amount, availability, references, text.
- 88 Continuation Carries the rest of the record above it onto another line.
- 49 Account Trailer Closes the account: control total and number of records.
- 98 Group Trailer Closes the group: control total, accounts and records.
- 99 File Trailer Closes the file: control total, groups and records.
Amounts have no decimal point
The currency implies the decimals:
150000is 1,500.00 in USD, 150,000 in JPY and 150.000 in KWD.Type codes say what an amount is
001–099balances,100–399credits,400–699debits,900–999bank-defined.Funds types add fields
Sadds three availability amounts,Va value date and time,Da list of days and amounts.Trailers prove the totals
Each 49, 98 and 99 carries a control total and record count. The viewer recomputes every one and shows the difference.
What it shows
From raw lines to a readable statement.
Every view shares one selection: pick a transaction in the statement and the tree, its raw line and its fields follow.
No. 01
Statement
Balances from every status code, summary totals, and each transaction with its type, credit or debit, amount, references and full text — account by account.
No. 02
Structure
The file as a tree: groups, accounts, transactions, trailers and the 88 lines under each record, with a field-by-field record view.
No. 03
Raw data
Every line color-coded field by field. Hover or select a field for its number, decoded value and what the specification says.
No. 04
Validation
Every account, group and file control total and record count recomputed, plus field formats, type codes and record order — with the line to fix.
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
ACH · Reversals
ACH Reversal
Reverse a whole NACHA file or the entries you choose: transaction codes flipped, REVERSAL as the entry description and the control totals recalculated.
.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
Build files · REST API
NACHA Generator
Build a valid NACHA file with a visual form, or from JSON with the REST API. Control totals, entry hash and block padding are done for you.
Limits
- It reads the BAI2 files your bank sends. It doesn’t connect to your bank or fetch reports for you.
- It doesn’t reconcile transactions against your books.
- Type codes 900–999 are defined by each bank. The viewer says whether one is a status, credit or debit code, not what your bank means by it.
- Version 3 (BTRS) files are read with BAI2 meanings, which BTRS changed for a few codes. BTRS-only records (89 and 90) are shown as raw text.
- Exports are CSV and JSON. It doesn’t convert reports to other formats, such as camt.053.
Reference
- BAI2 type codes Every code with its level and direction.
- BAI2 file format Records, fields, continuations and control totals.
- Sample files Example NACHA, BAI2 and X9 files to download and open.
Last updated