Convert MT940 to Excel
Drop in an .mt940 file and get back a real Excel workbook, with a balance check that proves nothing was dropped.
No sign-up needed. Files never leave your browser.
- Both balances come from the file, so the reconciliation needs nothing typed in
- Nothing is uploaded. The file is read in this browser tab and never stored
- No account and no card, with no limit on conversions
An MT940 is not a table and cannot be made into one by renaming it. Each transaction spans a :61: line and usually a :86: line beneath it, and the subfields inside :61: run together with no separators. A spreadsheet opening the file has nothing to split on, so it gives you one tall column of tags.
What comes out here is a real .xlsx workbook: dates as date cells, amounts as numbers formatted to two places, each row labelled In or Out beside the signed figure. Sorting by date, filtering by direction and totalling the column all work on arrival.
The amounts are the part worth stating. SWIFT writes decimals with a comma and no thousands separator, so every figure is converted to a real number rather than carried across as text that a spreadsheet will refuse to add up.
New to the format? Read what an MT940 file is. It covers what is inside one, and what it cannot tell you.
A converter that tells you when it missed something.
Most tools hand you a file and let you find out in your ledger. Every conversion here is reconciled against the closing figure first. That figure is read from your statement’s balance column, or typed in from the page when there isn’t one.
When the totals don’t meet you get the exact size of the gap, every row that did read, and the converted file anyway.
Sample balance check
A transaction may be missing. Review the rows below, or re-upload including all pages.
A sample result. This is the same component the converter uses.
Client statements never leave the tab
Conversion runs in your browser, in JavaScript on this page.
Closing the tab discards the file and everything read out of it. There is nothing to delete later and nothing to breach.
There is no upload step to decline, because there is no upload. Open your browser's network tab and convert. You will see no request carrying your data.
Once this page has loaded, conversion runs with no connection at all. Useful on a client site with locked-down wifi. It also proves the file stays put.
Questions people actually ask
Why can I not just open the file in Excel?
Because there is nothing for a spreadsheet to split on. A :61: line packs a value date, an entry date, a debit/credit mark, a funds code, an amount, a transaction type and a reference into one string, with no separators between them. The description sits on a different line entirely.
Are the dates real dates or text?
Real date cells. MT940 writes dates as YYMMDD with no century at all, so they are resolved on the way in and written as proper dates on the way out. A column of text that looks like dates is the thing that refuses to sort a week later.
Do I have to type in the balances?
No. An MT940 states both its opening and its closing balance in the file. The reconciliation runs against the figures the bank wrote rather than ones you supply, and the check is done before the workbook is built.
Does my statement get uploaded anywhere?
No. The conversion runs inside your browser using JavaScript on this page. The file is read from your disk into memory, converted, and offered back as a download. Nothing is sent to a server, so there is nothing for us to store, log or delete. You can confirm this by opening your browser's network tab while you convert.
Do I need an account?
No. There is no sign-up, no email capture and no usage limit on CSV conversion.
How do I know every transaction came through?
Every conversion shows a balance check above the results. If your file has a running balance column, the opening and closing balances are read from it. Otherwise you type them in from your statement. The check adds up every converted transaction, compares the total to the closing balance, and tells you the exact size of any difference.
My dates came out wrong. What happened?
A date like 05/01/2026 is ambiguous: 5 January in the UK and most of Europe, 1 May in the US. Turn on the day-first option and the file is re-read immediately. If your statement contains a date that can only be day-first, such as 19/02, the converter points this out before you download.
Some rows were skipped. Is that a problem?
Usually not. Totals rows, page footers, repeated column headings and blank lines carry no transaction date, so they are left out and counted. The skipped count is shown with the results so you can check it against what you expected.
Try it on the statement that’s annoying you right now.
No account, no card, no limit. If the layout isn’t recognised you will know immediately, rather than after a support ticket.