ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

SWIFT MT Parser

Decode a SWIFT MT (FIN) message block by block, 100 % client-side. MT103, MT202, MT940 and more; headers, tags, trailer.

Paste a SWIFT MT message (block 1 first) to parse it.

How it works

A SWIFT MT (FIN) message is structured in five brace-delimited blocks, each preceded by its numeric identifier (1 to 5). The parser tokenises blocks respecting brace nesting, then interprets each one per its own grammar:

  • Block 1 — Basic Header, fixed size: application id (F), service id, LT address (12 characters), session number, sequence number.
  • Block 2 — Application Header. First character is the direction (I input or O output); next 3 are the message type (103, 202, 940…).
  • Block 3 — User Header, optional. {key:value} sub-blocks: banking priority, MUR (Message User Reference), UETR End-to-End Reference (GPI).
  • Block 4 — Text. The application body. Each line starts with :tag: followed by the value (possibly multi-line). The trailing - marker closes the block.
  • Block 5 — Trailer. MAC, CHK, PDE, PDM, DLM sub-blocks for authentication, checksum, duplicate management.

Block structure

{1:F01BANKBEBBAXXX0000000000}
{2:I103BANKDEFFXXXXN}
{3:{108:MUR123456789}{121:cf3a4f5e-...}}
{4:
:20:REF12345
:23B:CRED
:32A:260516EUR1000,00
:50K:/12345678
ACME COMPANY LTD
:59:/12345678901234567890
BENEFICIARY NAME
:70:/INV/2026-001
:71A:OUR
-}
{5:{CHK:1234567890AB}}

Common tags per message type

The envelope validator checks the presence of mandatory tags for the following MTs:

  • MT103 — Single Customer Credit Transfer: 20 (transaction reference), 23B (bank operation code), 32A (value date + currency + amount), 50a (ordering customer), 59a (beneficiary), 71A (charge code).
  • MT202 — General Financial Institution Transfer: 20, 21, 32A, 52a (ordering institution), 58a (beneficiary institution).
  • MT900 / MT910 — Confirmation of Debit / Credit: 20, 21, 25, 32A.
  • MT940 — Customer Statement Message: 20, 25, 28C, 60a (opening balance), 61 (statement line), 62a (closing balance).
  • MT942 — Interim Transaction Report: 20, 25, 28C, 34F, 90a.

Limits

  • The parser does not validate the syntax of amounts, dates or IBANs inside tags. A malformed :32A: is passed through as-is.
  • Sub-sequences (sequences A, B, C in MT564, MT566, etc.) are not reconstructed: the tag list stays flat.
  • The CHK checksum and MAC are not verified; only their presence and raw value are surfaced.
  • The tool does not handle MLLP framing: if you receive an encapsulated message, paste the text between the delimiters.

Privacy

  • SWIFT MT — overview of the FIN standard, its history and ecosystem.
  • ISO 20022 — the XML/JSON standard taking over (CBPR+, FIN → MX migration).
  • SWIFT FIN User Handbook & Standards Release Guide — the official references; swift.com — Standards overview.

Last updated: May 16, 2026