camt.053 Converter → MT940 / CSV
Your bank sends camt.053, your accounting software reads MT940. Convert it back — entirely in your browser, nothing uploaded.
How do you convert a camt.053 file to MT940?
Drop the camt.053 XML on this page, click "Read file", then "Export MT940": ValidateFin parses the statement locally and writes a SWIFT MT940 (.sta) carrying the opening balance (:60F:), one :61:/:86: pair per booked entry and the closing balance (:62F:). Nothing is uploaded. Every other free converter runs the other way — MT940, BAI2, CODA and CFONB into camt.053 — because that was the migration direction. This one goes back, which is the problem people actually have today: since the ISO 20022 migration banks deliver camt.053, while a long tail of ERP, accounting and treasury systems can still only import MT940. The conversion preserves opening and closing balances, booking and value dates, references (EndToEndId becomes the customer reference, AcctSvcrRef the bank reference) and counterparty names. It also states its limits out loud: only booked entries convert, accents are folded to the SWIFT character set, and references are cut to 16 characters. CSV export works on camt.052 and camt.054 too.
About the camt.053 to MT940 converter
ISO 20022 camt.053 ("Bank to Customer Statement") is the XML statement banks now deliver: self-describing, validated against an official XSD, and carrying structured parties, references and remittance information. SWIFT MT940 is what it replaced — a compact tagged text format where :20: is the reference, :25: the account, :60F: the opening balance, :61: a movement, :86: its description and :62F: the closing balance. SWIFT retired MT940 in November 2025 in favour of camt.053, but retirement on the interbank rail is not disappearance: MT940 remains massively used domestically, bank-to-corporate and host-to-host, and that is precisely the traffic this tool serves. The mismatch is mundane and expensive — the bank has moved on, the software has not, and the finance team is stuck between them. This converter reads your camt.053 in the browser and writes an MT940 that the ERP will accept, or a CSV for everything else. No file leaves your machine: there is no upload, no server-side processing, and no account to create.
What matters more than the conversion is what the conversion cannot do — and this tool says so rather than producing a file that looks right and is wrong. Four honest limits. First, only BOOKed entries reach the MT940. camt.053 can carry PDNG (pending) entries; MT940 has no way to express "not settled yet", so including them would state as settled money that has not moved — and would break the :60F: ± :61: = :62F: reconciliation every consumer runs. The CSV has a Status column and keeps them. Second, MT940 cannot carry accents: the SWIFT character set admits only A-Z, a-z, 0-9 and / - ? : ( ) . , ' + and space, so "Société Générale" becomes "Societe Generale". The tool folds them deterministically and tells you it did. Third, references are cut to 16 characters where camt.053 allows 35 — the full value survives only in the source file. Fourth, MT940 is a statement format: only camt.053 converts to it. camt.052 (intraday report) and camt.054 (debit/credit notification) carry no opening/closing balance pair, so converting them would mean inventing balances; the CSV accepts all three. Reversals are preserved: camt marks them with RvslInd and MT940 has dedicated RC/RD marks for exactly this, so a cancelled entry stays visibly a cancellation rather than looking like an unrelated payment. On licensing, one honest sentence: writing software that emits MT940 is expressly licensed by the SWIFT Standards IPR Policy, which grants a royalty-free licence "to use SWIFTStandards […] to develop software […] which support transmission of information in accordance with SWIFTStandards". What is not licensed is republishing SWIFT's prose — so ValidateFin hosts none of it, and every field description here is written from scratch.
What to know about converting camt.053 to MT940
- Every other free converter points at camt.053; this one points away from it — the direction real teams are stuck in since banks migrated to ISO 20022.
- Preserves opening/closing balances, booking and value dates, EndToEndId (customer reference), AcctSvcrRef (bank reference) and counterparties.
- Only booked (BOOK) entries convert: MT940 cannot say "pending", and including a PDNG entry would claim money moved. The CSV keeps them, with a Status column.
- MT940 cannot carry accents — the SWIFT set is A-Z a-z 0-9 / - ? : ( ) . , ' + and space. "Société Générale" becomes "Societe Generale", and the tool says so.
- References are truncated to 16 characters in MT940 where camt.053 allows 35; only camt.053 converts to MT940, while CSV also accepts camt.052 and camt.054.
Frequently asked questions
How do I convert camt.053 to MT940?
Drop your camt.053 XML on this page, click "Read file", then "Export MT940". You get a .sta file with the real opening and closing balances, one :61:/:86: pair per booked entry, and the references and counterparties preserved. It is generated entirely in your browser — the statement is never uploaded.
Is there a free camt.053 to MT940 converter online?
This is one, and it needs no account, no upload and no licence. The processing is 100% client-side: the XML is read by JavaScript in your browser and the MT940 is written there too, so a statement full of account numbers and counterparty names never leaves your machine. Free converters overwhelmingly run the opposite direction (MT940 → camt.053), which is why this one exists.
Why are pending entries missing from my MT940?
Because MT940 has no way to express them. camt.053 marks an entry PDNG when the bank has seen it but not settled it; MT940 only knows booked movements, so writing a pending entry into one would state that money moved when it has not — and would break the :60F: ± :61: = :62F: reconciliation your ERP runs on import. The converter drops them deliberately and the CSV export keeps them, with a Status column, when you need the full picture.
camt.053 vs MT940: what is the difference?
They report the same thing — a bank statement — in two eras. MT940 is a compact SWIFT tagged-text format: :20: reference, :25: account, :60F: opening balance, :61: movements, :86: free text, :62F: closing balance. Fields are short (references are 16 characters) and the character set excludes accents. camt.053 is the ISO 20022 XML statement: international, self-describing, validated against an official XSD, and carrying far richer structured data — parties, IBANs, end-to-end references, remittance information and bank transaction codes. SWIFT retired MT940 in November 2025 in favour of camt.053, but MT940 is still widely used domestically and bank-to-corporate.
Can I convert camt.052 to MT940?
No, and that is a property of the formats rather than a limitation of this tool. MT940 is a statement: it is built around a mandatory opening balance (:60F:) and closing balance (:62F:). A camt.052 is an intraday account report and a camt.054 a debit/credit notification — neither carries that pair, so producing an MT940 from one would mean inventing balances that the source file never stated. The CSV export works on all three, because a flat row needs no balance pair.
Why did my counterparty names lose their accents?
Because the MT940 character set does not have them. SWIFT admits A-Z, a-z, 0-9 and / - ? : ( ) . , ' + and space; every accented letter in Europe is outside it. Passing those bytes through would produce a file the receiving system mangles or rejects, so the tool folds them deterministically — "Société Générale" becomes "Societe Generale", "Łódź" stays "Lodz" — and warns you that it did. Your camt.053 keeps the originals.
Are reversals preserved in the converted MT940?
Yes. camt.053 flags a reversal with RvslInd and keeps the booked direction; MT940 has dedicated marks for exactly this — RC for the reversal of a credit and RD for the reversal of a debit. Emitting a plain C or D would lose the fact that the entry cancels another one, and the pair would read as two unrelated payments. The converter emits the right mark.
Is my bank statement uploaded anywhere?
No. The camt.053 is read, converted and downloaded entirely in your browser using JavaScript. No statement data is ever sent to a server — there is no backend processing endpoint at all.