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.
Paste an ISO 20022 XML message
or load a sample to get started
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.
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.
| Feature | MT (Legacy SWIFT FIN) | MX (ISO 20022) |
|---|---|---|
| Format | Proprietary text format, fixed tags | XML with published schemas |
| Example | :20: Transaction Ref :32A: 240315USD50000, | <MsgId>REF001</MsgId> <Amt Ccy="USD">50000</Amt> |
| Addresses | Unstructured (free text) | Fully structured (street, city, country) |
| Remittance data | Limited (140 chars unstructured) | Rich structured remittance reference |
| Data richness | Basic payment fields only | LEI, purpose codes, tax IDs, UETR |
| Status | Being phased out on SWIFT | Mandatory for cross-border RTGS from Nov 2025 |
| Credit transfer | MT103 (customer), MT202 (bank) | pacs.008 (customer), pacs.009 (bank) |
| Payment initiation | No equivalent | pain.001 |
| Account statement | MT940 (EOD) | camt.053 |
| Intraday report | MT942 | camt.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:
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.
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).
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.
