SWIFT MT Parser
Parse and analyze SWIFT MT messages
SWIFT MT messages are the standard messaging format used by 11,000+ financial institutions worldwide for cross-border payments and securities transactions.
What is SWIFT MT?
SWIFT MT (Message Type) is the legacy messaging format used by the Society for Worldwide Interbank Financial Telecommunication (SWIFT) network to facilitate cross-border financial transactions. Since 1977, MT messages have been the backbone of international banking communication, connecting over 11,000 financial institutions in more than 200 countries.
Each MT message type is identified by a three-digit number. The first digit indicates the message category (e.g., 1xx for customer transfers, 2xx for financial institution transfers, 9xx for cash management). The full message type — such as MT103 for customer credit transfers or MT940 for account statements — determines the exact fields and structure required.
MT messages use a proprietary tagged format where each data element is identified by a colon-delimited tag number. While this format has served the industry for decades, it is gradually being replaced by ISO 20022 XML messages as part of the global migration initiative.
Message Structure
Every SWIFT MT message is composed of five blocks, each serving a distinct role in message routing, processing, and authentication.
Block 1 (Basic Header) identifies the sender and session. It contains the application identifier, service identifier, sender’s logical terminal (LT) address, session number, and sequence number.
Block 2 (Application Header) specifies the message type and recipient. The I/O indicator shows whether this is an input (sent) or output (received) message, followed by the three-digit MT type, receiver BIC, and message priority.
Block 3 (User Header) is optional and carries user-defined metadata such as the Message User Reference (MUR) used for reconciliation, banking priority, and service identifiers.
Block 4 (Text Body) is the heart of the message. It contains the actual transaction data using tagged fields (e.g., :20: for transaction reference, :32A: for value date/currency/amount). The required tags vary by message type.
Block 5 (Trailer) provides authentication and verification. The MAC (Message Authentication Code) ensures integrity, while the CHK (checksum) verifies the content has not been altered in transit.
Common Message Types
| MT Type | Name | Description |
|---|---|---|
| MT103 | Customer Credit Transfer | Single customer payment — the most common SWIFT message type |
| MT202 | Financial Institution Transfer | Bank-to-bank payment, often used to cover MT103 obligations |
| MT940 | Customer Statement | End-of-day account statement with balance and transaction details |
| MT199 | Free Format Message | Unstructured message for queries, investigations, or ad-hoc communication |
| MT300 | Foreign Exchange Confirmation | Confirms the details of an FX deal between two counterparties |
| MT760 | Guarantee / Standby Letter of Credit | Issuance of a bank guarantee or standby LC |
| MT700 | Issue of a Documentary Credit | Opening a letter of credit for trade finance |
How a Cross-Border Payment Flows
A typical cross-border payment using MT103 follows this path:
- Origination: The ordering customer instructs their bank (originating bank) to send funds
- MT103 creation: The originating bank creates an MT103 message with full beneficiary details
- SWIFT network: The message is routed through the SWIFT network (SWIFTNet FIN) to the beneficiary bank
- Correspondent banking: If there is no direct relationship, the message passes through one or more correspondent banks, each generating an MT202 (cover payment)
- Credit: The beneficiary bank credits the beneficiary’s account and sends an MT199 or MT910 confirmation
- Statement: At end of day, both banks generate MT940 statements reflecting the transaction
Common Use Cases
- International wire transfers: MT103 is the standard for cross-border customer payments between banks
- Treasury operations: MT202, MT300, and MT320 handle interbank transfers, FX deals, and fixed deposits
- Cash management: MT940 and MT942 deliver end-of-day and intraday account statements to corporate treasuries
- Trade finance: MT700, MT760, and related messages support letters of credit and bank guarantees
- Securities settlement: MT5xx messages handle settlement instructions, confirmations, and corporate actions
- Investigations: MT199 and MT299 provide free-format channels for payment inquiries and exception handling
Try These Examples
A complete MT103 customer credit transfer with all mandatory tags: transaction reference (20), bank operation code (23B), value date/currency/amount (32A), ordering customer (50K), beneficiary (59), and fee instruction (71A). Block 5 contains authentication (MAC) and checksum (CHK).
{1:F01BANKFRPPAXXX0000000000}{2:I103BANKDEFFXXXXN}{3:{108:MT103}}{4:
:20:TXREF20240315001
:23B:CRED
:32A:240315EUR25000,00
:50K:/FR7630006000011234567890189
JOHN DOE
10 RUE DE LA PAIX
PARIS FR
:59:/DE89370400440532013000
JANE SMITH
BERLINER STR 45
BERLIN DE
:71A:SHA
-}{5:{MAC:00000000}{CHK:123456789ABC}} This MT103 is missing the mandatory tag 32A (Value Date/Currency/Amount). Without this tag, the receiving bank cannot determine the transfer amount, currency, or settlement date. Block 3 and Block 5 are also absent.
{1:F01BANKFRPPAXXX0000000000}{2:I103BANKDEFFXXXXN}{4:
:20:TXREF20240315001
:23B:CRED
:50K:/FR7630006000011234567890189
JOHN DOE
:59:/DE89370400440532013000
JANE SMITH
:71A:SHA
-}