MT940 to Excel: convert SWIFT bank statements to a spreadsheet
Each :61: line becomes a row with a signed amount, and the :86: text is split into payee, counterparty account and description. The opening and closing balances are checked.
- 100% free
- No usage limits
- No sign-up
- Nothing uploaded: runs in your browser
No file at hand?
Statements
Columns of
Detected automatically. Change anything that looks wrong and the result updates.
Transactions
Output options
How to use it
- Drop your .sta, .940, .mt940 or .txt files.
- Check that each statement shows “Balance OK”.
- Download Excel or CSV.
How a :61: line is read
A line like :61:2601050105C1250,00NTRFNONREF//BK0001 holds the value date (260105), the entry date (0105), the mark (C for credit), the amount, the transaction type and the references. The entry date has no year, so it takes the value date’s year, adjusted when the two fall on either side of the new year.
When it helps
- Reading treasury or corporate bank exports without an ERP.
- Checking a statement before loading it into accounting software.
- Moving MT940 data to a program that only takes CSV, OFX or QIF.
Private by design
A statement shows your income, your rent and who you pay, so it should not need uploading to convert it. Here the file is read by code running on your device, and nothing is sent to a server. You can check it in your browser’s network panel.
Known limitations
- PDF statements are not read. Convert them to Excel first with the PDF tools and check the result, because PDF extraction can misread rows.
- A .qbo file is read but not written: QuickBooks Desktop requires an Intuit bank ID that cannot be validated here. Use OFX, or the 3-column CSV for QuickBooks Online.
- OFX requires a closing balance. If your source has none, the file contains the sum of the transactions, which is not your real balance.
- Investment transactions in OFX and QIF are not read. Split lines in QIF are kept as one transaction with its total.
- File size is limited by your device memory, not by any quota. The work runs on the page, so very large files can pause it for a moment.
Frequently asked questions
Is this MT940 converter really free?
Yes. It is 100% free, with no usage limits, no account and no sign-up. There is no paid plan and no feature is locked.
Are my bank statements uploaded to a server?
No. Your files never leave your device: they are read and converted inside your browser. The page only downloads its own code and open-source libraries from this site. If you accept analytics cookies, Google Analytics receives anonymous usage data such as page views, never the contents or names of your files.
What does “Balance OK” mean?
When the file has opening and closing balances, the tool checks that opening balance + transactions = closing balance, to the cent. In a CSV with a balance column it checks every row against the previous one, in either order. If it does not add up, you are told by how much, or on how many rows.
Which :86: formats are understood?
German-style subfields (?20 to ?29 description, ?31 account, ?32 and ?33 name, including the SVWZ+ text), slash keywords such as /NAME/, /REMI/, /IBAN/ and /EREF/, and free text, which is kept whole. Bank-specific layouts can vary, so check the first rows.
What is an RC or RD transaction?
They are reversals: RC cancels an earlier credit, so money goes out; RD cancels an earlier debit, so money comes in. They get the right sign, and that is what makes the balance add up.
Is MT940 being replaced by CAMT.053?
Many banks are moving to the ISO 20022 format CAMT.053, and offer both for now. This suite also has a CAMT.053 to Excel page, and both formats give the same output columns.
Analytics: only if you accept cookies, the page loads Google Analytics (through Google Tag Manager) to count visits and see which tools are used. It never receives the contents or names of your files. You can change your choice at any time with “Cookie settings” at the bottom of the page.