MT940 to CSV converter

An MT940 file is the SWIFT bank statement many European banks offer for download. It is plain text in tagged fields, with decimal commas, D and C marks for money out and in, and a free-text description field whose layout differs by bank.

Convert a MT940 statement

MT940 to Excel (CSV)

A .sta, .940, .mt940 or .txt file from your bank's MT940 (SWIFT) statement download

Your file stays on this device

It is read and converted by this page, inside your browser. Nothing from the file is uploaded, and the converter keeps working offline once the page has loaded.

One email when it ships. The address is used for nothing else. Details.

What is an MT940 file?

MT940 is a bank statement format defined by SWIFT, the network banks use to send each other messages. Many banks in Germany, the Netherlands, Switzerland, Poland and elsewhere offer it as a download, often as a .sta, .940 or .txt file.

Each statement starts with a reference (:20:), the account (:25:) and the statement number (:28C:). The opening balance (:60F:) comes next, then one :61: line per booking with its :86: description, and the closing balance (:62F:) at the end.

Spreadsheets and accounting software cannot read it directly. The converter reads every statement in the file, checks that the opening balance plus the bookings equals the closing balance, and writes one row per transaction.

Choose where it is going

Files from a specific bank

How to export from your bank

  1. In your online banking open the account and look for Statements, Export or Download.
  2. Choose the MT940 format (some banks call it SWIFT, MT940 structured or .sta).
  3. Pick the period and download.
  4. Upload the file here exactly as downloaded.

What to know about MT940 files

  • One file can hold many statements and several accounts. Each converted file holds one account in one currency; you choose which.
  • Amounts use a decimal comma (1234,56) and a D or C mark for money out or in. RD and RC mark reversals.
  • Each entry has a value date and usually a booking date; we use the booking date and keep the value date in the spreadsheet CSV.
  • We check every statement: the opening balance plus the entries must equal the closing balance. If it does not, you get a clear warning.
  • The description field (:86:) comes in several layouts. We read the German ?20 to ?63 subfields and the /NAME/ /REMI/ /EREF/ style used by Dutch banks, and keep anything else as plain text.

Questions

How do I know nothing went missing?
Every MT940 statement carries an opening and a closing balance. The converter adds up the bookings of each statement and compares the result with the closing balance. If they do not match, you see a warning that names the statement and the difference.
My file has several accounts. What happens?
One file can hold statements for several accounts or currencies. Each converted file holds one account in one currency, and a menu lets you pick which one. Convert each account into its own account in your books.
Which banks' description layouts are read?
The :86: field is read in the German layout with ?20 to ?63 subfields and SEPA keywords such as EREF+ and SVWZ+, and in the /NAME/ /REMI/ /EREF/ layout used by Dutch banks such as ING and Rabobank. Other layouts are kept as plain text.