ISO 20022 Message Decoder

ISO 20022 Message Decoder — Parse SWIFT MX Messages Instantly | AbokiCalculator
pacs.008 pain.001 camt.052 🔒 Client-side only
ISO 20022 / SWIFT MX Decoder

ISO 20022 Message Decoder

Paste an ISO 20022 XML payment message. Decoded instantly in your browser — pacs.008, pain.001, pain.002, camt.052, camt.053.

🔒 All decoding happens in your browser. No XML data is sent to any server.
XML Input
Decoded Output
📄

Paste an ISO 20022 XML message
or load a sample to get started

ISO 20022 Field Reference
Professional Tools

Integrating ISO 20022 validation into your payment system?

See recommended API providers for ISO 20022 message processing, validation, and transformation at scale.

What Is ISO 20022?

ISO 20022 is the global standard for electronic data interchange between financial institutions. It defines a common language for financial messaging using XML-based data formats, enabling richer, more structured data to travel alongside payment instructions across the global banking system.

Unlike the legacy SWIFT MT (Message Type) format — which uses fixed-length fields and proprietary tag codes — ISO 20022 MX messages use XML with well-defined schemas. This allows significantly more data to be carried in a single message, including fully structured names and addresses, LEI (Legal Entity Identifier) codes, structured remittance information, and comprehensive transaction purpose data.

The SWIFT migration: SWIFT began its migration from MT to MX messages for cross-border payments and cash reporting in March 2023, with the coexistence period (allowing both formats) running through November 2025. After the migration window, ISO 20022 is the mandatory format for cross-border RTGS transactions on the SWIFT network.

MT vs MX: What Changed?

The difference between MT and MX messages goes beyond file format. MX (ISO 20022) carries substantially more structured data per message, enabling better AML screening, compliance automation, and reporting.

FeatureMT (Legacy SWIFT FIN)MX (ISO 20022)
FormatProprietary text format, fixed tagsXML with published schemas
Example:20: Transaction Ref
:32A: 240315USD50000,
<MsgId>REF001</MsgId>
<Amt Ccy="USD">50000</Amt>
AddressesUnstructured (free text)Fully structured (street, city, country)
Remittance dataLimited (140 chars unstructured)Rich structured remittance reference
Data richnessBasic payment fields onlyLEI, purpose codes, tax IDs, UETR
StatusBeing phased out on SWIFTMandatory for cross-border RTGS from Nov 2025
Credit transferMT103 (customer), MT202 (bank)pacs.008 (customer), pacs.009 (bank)
Payment initiationNo equivalentpain.001
Account statementMT940 (EOD)camt.053
Intraday reportMT942camt.052

ISO 20022 Message Types Explained

ISO 20022 messages are grouped by functional area using a 4-letter prefix. The most important groups for payment processing are:

pacs.008
FI-to-FI Customer Credit Transfer
Sent by the instructing bank to the instructed bank to transfer funds from the debtor to the creditor. Used for both domestic and cross-border wire transfers. Contains full debtor, creditor, amount, and UETR (end-to-end tracking reference).
Replaces: MT103
pain.001
Customer Credit Transfer Initiation
Sent by the corporate or individual to their bank to initiate one or more credit transfers. The bank uses this to create the interbank payment (pacs.008). This is the "payment request" from customer to bank.
No direct MT equivalent (corporate banking)
pain.002
Customer Payment Status Report
Sent by the bank back to the customer to confirm the status of a previously submitted pain.001 or pain.007. Status codes: ACTC (accepted), RJCT (rejected), PDNG (pending). Contains rejection reason codes if applicable.
No direct MT equivalent
camt.052
Bank-to-Customer Account Report (Intraday)
Sent by the bank to the account owner during the business day to report intraday balance and transaction activity. Used for real-time cash visibility in treasury management systems. Replaces the legacy MT942 intraday report.
Replaces: MT942
camt.053
Bank-to-Customer Statement (End of Day)
The end-of-day account statement sent by the bank to the account owner. Contains final closing balance and all confirmed transactions for the statement period. Used for bank reconciliation in ERP systems.
Replaces: MT940

How to Read an ISO 20022 XML Message

Every ISO 20022 message follows the same structural pattern. Understanding the structure helps you navigate any message type:

1. The Document element and namespace

The root element is always <Document>. The xmlns attribute (namespace) tells you exactly which message type and version this is.

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08">                                    ▲ Message type + version

2. The Group Header (GrpHdr)

Every pacs and pain message has a GrpHdr block containing message-level metadata: MsgId (unique reference), CreDtTm (creation timestamp), NbOfTxs (transaction count), and TtlIntrBkSttlmAmt (total amount).

3. The Transaction Information block

In pacs.008, this is CdtTrfTxInf (Credit Transfer Transaction Information). It contains the per-transaction details: debtor, creditor, amount, remittance information, and the UETR (Unique End-to-End Transaction Reference — the SWIFT GPI tracking ID).

Common parsing mistake: XML namespaces make XPath queries fail if not handled correctly. When parsing ISO 20022 messages programmatically, always register the namespace URI and use namespace-aware XPath. The default getElementsByTagName() in some browsers/libraries may find elements without namespace awareness, but this can break on some parsers.

Why the Global Financial System Is Migrating to ISO 20022

  • Richer data for AML/compliance: Structured names and addresses enable more accurate automated sanctions screening, reducing false positives and manual reviews.
  • Straight-through processing (STP): Fully structured data reduces manual intervention in payment processing, lowering costs and errors.
  • Interoperability: ISO 20022 is also used by Fedwire, CHIPS, TARGET2, CHAPS, and TIPS in Europe. A single format across multiple rails reduces translation overhead.
  • Better reconciliation: Structured remittance data (invoice numbers, references) in camt messages enables automated accounts payable matching.
  • SWIFT GPI compatibility: The UETR (Universal End-to-End Transaction Reference) in ISO 20022 enables real-time payment tracking across the SWIFT GPI network.

Frequently Asked Questions

ISO 20022 is the international standard for electronic data interchange between financial institutions. It defines XML-based message formats for payments, account reporting, and related financial communications. The standard is governed by ISO (International Organization for Standardization) and is being adopted globally by SWIFT, Fedwire, CHIPS, TARGET2, CHAPS, and dozens of national payment systems.
MT (Message Type) messages are SWIFT's legacy proprietary text format using numbered field tags (e.g. :20:, :32A:, :50K:). MX messages are ISO 20022 XML format with well-defined public schemas. MX messages carry far richer structured data — fully parsed addresses, LEI codes, purpose codes, and structured remittance information. SWIFT has completed its migration: MX is now mandatory for cross-border RTGS transactions.
pacs.008 (FIToFICustomerCreditTransfer) is an ISO 20022 message sent by an instructing financial institution to an instructed financial institution to transfer funds from a debtor to a creditor. It is the ISO 20022 equivalent of the legacy SWIFT MT103 customer credit transfer. It contains the full payment chain: debtor details, creditor details, settlement amount, instructing/instructed agents, and the UETR (SWIFT GPI tracking ID).
Five reasons: (1) Richer structured data enables better AML compliance automation; (2) Consistent format across multiple payment rails (SWIFT, Fedwire, TARGET2, CHIPS) reduces processing overhead; (3) Structured remittance data enables automated reconciliation; (4) UETR enables end-to-end SWIFT GPI payment tracking; (5) Reduced manual intervention through straight-through processing (STP). The migration is also driven by regulatory requirements in multiple jurisdictions.
Use this tool — paste the XML above and click Decode. For programmatic parsing: use an XML parser in your language, register the ISO 20022 namespace URI from the Document element, and use XPath or DOM navigation to extract fields. The namespace URI (e.g. "urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08") tells you the message type and version. Field paths vary by message type — see the field reference table above.
pain.001 (CustomerCreditTransferInitiation) is sent by a corporate or individual to their bank to initiate one or more credit transfers. The bank processes the pain.001 and creates the interbank pacs.008 message. pain.001 is used in corporate banking ERP integrations and treasury management systems for automated payment initiation. It supports bulk payment batches with a control sum for reconciliation.
SWIFT completed the core migration by November 2025. All banks using SWIFT for cross-border payments and cash reporting were required to support MX messages during the coexistence period (March 2023 to November 2025). From November 2025 onward, MX is the mandatory format for cross-border RTGS transactions. Legacy MT messages remain supported for some specific use cases and bilateral agreements during an extended transition.
Done

© AbokiCalculator • ISO 20022 decoder • All parsing is client-side — no data sent to servers • For reference only • Not a production payment validator

Similar Posts