en

Bank statement to CSV

Turn an MT940 or camt.053 bank statement into a CSV of the booking lines - locally in the browser, with no upload.

Running locally on your device ...

A structural check as a helper function, not a legally binding attestation.
Delimiter
  • Comma
  • Semicolon
  • Tab

Running locally on your device ...

0%

Is my file uploaded?

No. Everything runs in your browser - your file never leaves your device. How this is verifiable

No upload100% local
Your content stays with youno third-party access
Hosted in GermanyGlobal Content Delivery
Independently auditedTLS A+ · HTTP headers A+

Bank statements come in two common formats: the classic SWIFT FIN MT940 (line-based with tags like :61: for the entry and :86: for the remittance) and the ISO 20022 successor camt.053 (structured XML). Both are made for machines. To get the entries quickly into Excel, Google Sheets or a spreadsheet tool, though, you usually want a simple CSV. That is exactly what this tool does: it reads MT940 or camt.053 and outputs a flat CSV of the booking lines.

Drop your statement file; the tool detects the format automatically and writes one row per entry with booking date, amount, currency, debit/credit and remittance. The amount is signed (debits negative) so a column can be summed directly; the debit/credit indicator (DBIT/CRDT) also sits in its own column. You can drop several files at once, each becomes its own CSV.

Everything runs entirely locally in the browser (pure JavaScript, no server, no foreign library from a foreign CDN) - the statement with its bank data never leaves your device. The CSV is produced with correct RFC 4180 quoting (fields with comma, quote or line break are escaped cleanly) and carries a UTF-8 BOM so umlauts show correctly in Excel. The amount uses a dot as the decimal separator.

Specifications

Specifications
Input formatsSTA, MT940, XML, TXT
Auto-conversionPNG, JPG, WebP, GIF, BMP, TIFF, ICO, SVG, HEIC, PDF, MP3, WAV, DOCX, MIDI, DDS, HDR, PCX, WBMP
Output formatCSV
Batch processingYes
ProcessingLocally in your browser (JavaScript)
File uploadNone

In 3 steps

  1. Drop the statement: MT940 (.sta/.mt940) or camt.053 (.xml).
  2. The conversion runs automatically, locally in the browser.
  3. Download the CSV (one file per statement, one row per entry).

Limitations: Reads a bank statement in SWIFT FIN MT940 or ISO 20022 camt.053 (also camt.052/054) and outputs a CSV of the booking lines: booking date, amount (signed, debit negative), currency, debit/credit indicator (DBIT/CRDT) and remittance. From MT940 the remittance comes from the unstructured :86:, from camt.053 from RmtInf/Ustrd. The core booking fields are carried over; richer structured details (e.g. structured counterparty or purpose-code fields from camt) are intentionally not represented in the flat CSV. Amount with a dot decimal separator; CSV per RFC 4180 with a UTF-8 BOM. Column headers appear in German (de page) or English (otherwise).

FAQ

Are my bank data uploaded?

No. Reading the statement and building the CSV run entirely locally in the browser (pure JavaScript, no server); the statement never leaves your device.

Which input formats work?

SWIFT FIN MT940 (.sta/.mt940/.txt) and ISO 20022 camt.053 (.xml), also camt.052/054. The format is detected automatically from the content.

Which columns does the CSV have?

Booking date, amount (signed, debit negative), currency, debit/credit (DBIT/CRDT) and remittance - one row per entry.

Does the CSV open cleanly in Excel?

Yes. It is correctly escaped per RFC 4180 and carries a UTF-8 BOM so umlauts show correctly. The amount uses a dot as the decimal separator.

Is anything lost from the remittance?

The flat CSV carries the remittance as text. Structured camt detail fields (e.g. counterparty or purpose codes) are intentionally not fully represented in a simple table.

Related tools

MT940 to camt.053 · MT103 to pacs.008 · CSV to JSON · NF-e Viewer (Brazil) · SEPA credit transfer