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.

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

Running locally on your device ...

0%

Your files never left your device

    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
    Servers in GermanyGDPR by design
    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
    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