Your bank gave you a statement file — .sta, .mt940, .940, maybe just .txt — and
what you actually need is the transactions in a spreadsheet: for reconciliation, for an
accountant, or to import into software that doesn't read SWIFT formats. Here's how to
convert an MT940 file to CSV or Excel in about a minute, without installing anything.
Why you can't just open it in Excel
MT940 is plain text, but it isn't tabular. Open one in Excel and you'll get one column
of tag lines: dates written as 260714 with no century, amounts like 1250,00 with a
comma for the decimal point, and each transaction split between a packed :61: line
(dates, debit/credit, amount, references — all run together with no delimiters) and a
free-form :86: description that can span several lines. There's no separator you can
tell Excel's import wizard to split on that untangles that. For the full breakdown of
the tags, see What is an MT940 file?
Convert MT940 to CSV in your browser
The free MT940 to CSV converter on LegacyFile parses the SWIFT tag structure directly:
- Drop your MT940 file into the converter. Parsing happens entirely on your device — the statement is never uploaded anywhere, which is the right bar for bank data.
- It reads the whole statement structure —
:20:reference,:25:account,:60F:opening balance, every:61:statement line with its:86:details, and the:62F:closing balance — including files wrapped in SWIFT{1:...}{4:...}network envelopes. - It untangles every :61: line into proper columns: value date and entry date as real ISO dates, a debit/credit flag (reversals RD/RC included), the amount signed so debits are negative, the transaction type code, and both the customer and bank references.
- It keeps the full :86: details. Banks all write this free-form field differently, so the converter joins the lines into one Details column rather than guessing at any one bank's dialect — nothing your bank wrote is dropped.
- Check the summary and preview, then export CSV, XLSX, or JSON. The CSV/XLSX opens directly in Excel, Google Sheets, or Numbers.
Files with more than one statement
Banks often deliver a week or a month of daily statements concatenated into a single
MT940 file — each day starts at a new :20: tag. The converter reads them all and adds
a Statement column to every row, so you can filter one day out or keep the whole month
in one sheet. The summary shows the opening balance of the first statement and the
closing balance of the last, plus the full date range covered.
Checking the numbers
Two things worth a glance before you trust the export. First, the balances: opening
balance plus the signed transaction amounts should equal the closing balance — if your
file is missing its closing balance or contains a line the parser couldn't read, the
converter flags it as a warning instead of failing silently. Second, reversals: an RD
entry is money coming back in (a reversed debit) and exports as a positive amount, an
RC is the opposite — the raw mark stays in its own column so reversals never hide.
What if my file isn't actually MT940?
Two common lookalikes. If the file is XML full of <BkToCstmrStmt> and <Ntry> tags,
it's a CAMT.053 statement — the ISO 20022 format that's gradually replacing MT940 — and
there's a separate CAMT.053 to CSV converter for it. If it's
comma-separated lines starting with record codes like 01, and 16,, it's a BAI2 file
from a US bank — the American equivalent of MT940 — and the
BAI2 to CSV converter handles those. All three run the same way:
free preview in your browser, no upload.
Pricing
Every file parses and previews free, with no signup. Free exports include the first 100 transactions — enough for most single statements — and a one-time $19 license unlocks unlimited exports if you're processing bigger files or a backlog of statements.