The Structure Of A SWIFT Message, Explained! 30

If you’re looking at a SWIFT message for the first time, it can be a bit daunting. To the untrained eye the whole SWIFT message structure can look like gobbledygook. But actually, there is a bit of a method to the madness. Whether you are receiving, processing or constructing an MT101 or an MT940 message it is important to what you’re dealing with, and what needs to go where. Let me explain…..

SWIFT Message Structure

A SWIFT MT message consists of the following blocks or segments:

  • {1:} Basic Header Block
  • {2:} Application Header Block
  • {3:} User Header Block
  • {4:} Text Block
  • {5:} Trailer Block

To keep it very simple I’ve not included any data at this point – but to highlight the SWIFT message structure will appear something like the following:




A header example, would be something like:


Now, let’s break this example down and explain each component of it…:

SWIFT Message Structure: Basic Header Block

This will provide information on the contents of the Basic Header Block – the bit that starts {1:

It will typically consist of something like: {1:F01YOURCODEZABC1234567890} where:

  • {1: – Identifies the Block – i.e. the Basic Header Block
  • F – Indicates the Application Id – in this case, FIN
  • 01 – Indicates the Service Id
    • 01 = FIN
    • 21 = Acknowledgement (ACK) or Negative Acknowledgement (NAK)
  • YOURCODEZABC – The Logical Terminal Address – which is typically your BIC 8 (YOURCODE) + Logical Terminal Code (Z) + Branch Code
    • I know YOURCODE is an invalid BIC – but lets go with it…
  • 1234 – Session Number – Ask SWIFT or your Service Bureau how they want you to populate this – this is not very interesting for corporates
  • 567890 – Sequence Number – As above, ask your SWIFT people how they want this populated
  • } – Indicated the end of the Basic Header Block

SWIFT Message Structure: Application Header Block

The Application Header Block will always starts {2:

And will look something like: {2:I101YOURBANKXJKLU3003} where:

  • {2: – Indicates the start of the Application Header block
  • I – Informs you that you’re in Input mode (i.e. the Sender), O would indicate Output mode – so you would be the recipient of the message
  • 101 – Message type – in this case, an MT101
  • YOURBANKXJKL – The recipients BIC, consisting of their BIC (YOURBANK) + Recipients Logical Terminal Code (X) + Recipients Branch Code (JKL)
  • U – Message Priority:
    • U – Urgent
    • N – Normal
    • S – System
  • 3 – Delivery Monitoring – Ask your SWIFT contacts or Service Bureau how you should populate this, if at all – Optional
  • 003 – Non-delivery notification period – again, ask your SWIFT contacts how to populate this, if at all – Optional
  • } – Indicated the end of the Application Header Block

SWIFT Message Structure: User Header Block

The User Header Block will always starts {3:

And will look something like: {3:{113:SEPA}{108:ILOVESEPA}} where:

  • {3: – Indicates the start of the User Header Block
  • {113:SEPA} This is an optional 4 alphanumeric bank priority code
  • {108:ILOVESEPA} – Indicates the Message User Reference (MUR) value, which can be up to 16 characters, and will be returned in the ACK
  • } – Indicated the end of the User Header Block

SWIFT Message Structure: Text Block

The Text Block will always starts {4:

And will look something like: {4:

Followed by the details of the message you’re sending. In this case, it is a MT101 – as indicated in Application Header Block message type. For this piece, I strongly recommend that you find and read the appropriate SWIFT message specification – in this instance SWIFT MT101 Format Specifications –  and then work with your bank(s) to understand their specific message requirements.

Finally ending with -}

SWIFT Message Structure: Trailer Block

The Trailer Block will always starts {5:

This can be added by you or the system. Work with your SWIFT contacts to know if you need to indicate this block.

And ends with }


Kindly TWEET or share this post via LinkedIn- Thank You…!!




30 thoughts on “The Structure Of A SWIFT Message, Explained!

  1. Pingback: The Difference between a SWIFT ACK and SWIFT NACK

  2. Pingback: Quick Guide to the SWIFT MT101 Format

  3. Reply Nevil Nayak Feb 18,2016 7:41 pm

    I think this section is flipped
    I – Informs you that you’re in Input mode (i.e. the Sender), O would indicate Output mode – so you would be the recipient of the message

    For when it is {2:I, the {2 contains the Receiver and the sender when it is {2:O

    • Reply Nigel Robinson May 26,2017 10:03 am

      No, that statement is correct, as is your second paragraph.
      Block 1 always contains your BIC and Block 2 that of the counterparty.
      I is “Input to SWIFT” so you are the Sender (Block 1) and the counterparty the Receiver (Block 2)
      O is “Output from SWIFT” so you are the Receiver (Block 1) and the counterparty is the Sender (Block 2)

      The rest of the description is a little confused however as it seems to assume Block 2 is the Receiver, which it isn’t always, and fails to mention that the struture of Block 2 differs for I and O.

  4. Reply Raj Jun 5,2016 4:08 am


    Would be of great help if you could elaborate more on message trailer.
    Is it mandatory to have this message trailer block for all outgoing message types including general purpose message n95,n96 , n99. What happens if we do not append trailer block in the message, will SWIFT append it.

  5. Reply Prakash Prabhu Feb 14,2017 11:09 pm

    1) what is the structure of Application header in MX messages

    2) What is the equivalent of User Header in MX message header

    2) Is the ACK/NACK message structure same in MX & MT

  6. Reply Mona Jun 8,2017 10:28 am

    Please explain:

    Swift message
    1) TRX
    2) CVX
    3) MEX

  7. Reply Miske Jul 1,2017 8:11 pm

    Thanks for the explanations. Please can i get a software that helps in writing the codes.

  8. Reply Michael Apr 6,2018 7:46 am

    can you explain me the code: “RET YRMT103 AS UTADUE TO NEED AC TO CREDIT” ?
    thank you

  9. Reply Ravi Apr 18,2018 7:01 am

    Hi Michael.

    Return of your MT103 as unable to apply due to bene account number required to credit

    • Reply Bernard Jul 19,2018 12:19 pm

      Hi Michael,

      It can mean 2 things. One is as per Ravi’s reply. Two is that a/c number of beneficiary bank with correspondent bank is required to route the payment.

  10. Reply Anna Apr 25,2018 8:28 pm

    Can someone confirm if we are to receive ACKS back from SWIFT if we are simply testing the MT101/103 formats? We are currently using our test BIC and have the RMA exchange done. Bank is able to send MT900 but we do not see any SWIFT ACKS…

  11. Reply Carole May 7,2018 4:50 pm

    I am still confused. Very low tech. If I want to see where an email comes from, I have found some “header analyzers.” I still do not know which part to copy and and paste.This is how the “original” begins. Is the header in here? Please help! Thanks

    Received: by with SMTP id j56csp1061110imb;
    Wed, 2 May 2018 12:22:47 -0700 (PDT)
    X-Received: by 2002:aca:ac06:: with SMTP id v6-v6mr13357580oie.227.1525288967176;
    Wed, 02 May 2018 12:22:47 -0700 (PDT)

    • Reply Sam Jun 14,2018 10:01 pm

      Carole, you’re aware that SWIFT standards and email header standards are entirely different? SWIFT is for interbank payment messages.

      Can I ask why you’re looking at email headers? Do you think someone might be spoofing you (definitely a possibility)? You’re certainly on the right track, though it’s not clear whether you’ve pasted the whole header.

  12. Reply KAVIN KHATRI Jul 2,2018 12:02 pm

    AO foundation , a switzerland based foundation had transferred a payment of CHF 2260 on 8-06-2018 to account number xxxxxxxxxxxx , swift code- SBININBB276. The transaction was completed with transaction id: 1010338. However, the transaction was carried out to twelve digit account number while the state bank of india has only eleven digit account numbers.
    The organisation had sent me MT103 FORM and said that the money is now lying with the state bank of India and they have not rejected the transaction. the local branch is saying they haven’t received the money. kindly help me in deciphering it.

  13. Reply Bernard Jul 19,2018 12:13 pm

    I never used the User Header Block {3: in my MT103 messages. However, with the implementation of mandatory UETR in field 121 of the SWIFT Standards 2018 Release for SWIFT gpi , I will be forced to use this block. Can you confirm if field 108 is mandatory in this block, or can I just populate this block with field 121 which is what this new SWIFT requirement is really all about.

    • Reply alica Oct 7,2018 10:15 am

      Field 121 is one of the fields in block 3 and with the standards release 2018 you will be obliged to use this field with UETR in MT 103. This block consists of several fields.For example you will be be obliged to use field 103 if you use MT 103 in Fin Copy service. Field 108 is also one of the fields in this block, and it is not mandatory, buf field 121 will become mandatory for all users.

  14. Reply Michael Sep 28,2018 6:42 am

    Can anyone share with me how’s the message priority work? What happen if change to Urgent?

  15. Reply alica Oct 7,2018 9:48 am

    That means that the Receiver will treat your message as urgent. You have two options when using urgent priority:
    U1 means that swift will inform you if your message was not delivered inside 15 min. (overdue warning)
    U3 means that swift will inform you if your message was not delivered inside 15 min and you will also get the information when it is delivered. (delivery notification)

  16. Pingback: Explained: SWIFT gpi UETR - Unique End-to-End Transaction Reference

  17. Reply Sam Oct 22,2018 1:32 pm

    Can anyone advise me the name of the tool used to create and send swift messages. Say for example MT103.
    Thank you in advance. Sam.

  18. Reply BEN Nov 26,2018 4:10 am

    can anyone help

    What does this mean in the Trailer section


  19. Reply Leander Lupus Nov 28,2018 8:25 am

    Please explain more in detail –> Logical Terminal Code (Z) –> Branch Code .

    What is the meaning of “Z’ , Where will the Logical Terminal Code use. Is this like an letter that explain the maschine that is used i.e. Z = ATM, H = Host ?

    Where can i find the list of branch code ?

  20. Reply calif Dec 1,2018 3:30 am

    I am direct to a Provider of MT103 one-way collateral, MT103 SINGLE CREDIT CASH MANUAL DOWNLOAD. Receiver must be from Top Banks Worldwide. Interested receiver should contact me directly via

  21. Reply Muhammed Emir Harun Jan 15,2019 8:31 am

    We Facilitate Bank instruments SBLC for Lease and Purchase. Whether you are a new startup, medium or large establishment that needs a financial solution to fund/get your project off the ground or business looking for extra capital to expand your operation,our company renders credible and trusted bank guarantee provider who are willing to fund and give financing solutions that suits your specific business needs.

    We help you secure and issue sblc and bank guarantee for your trade, projects and investment from top AA rated world Banks like HSBC, Barclays, Dutch Ing Bank, Llyods e.t.c because that’s the best and safest strategy for our clients.e.t.c


    1. Instrument: Funds backed Bank Guarantee(BG) ICC-600

    2. Currency : USD/EURO

    3. Age of Issue: Fresh Cut

    4. Term: One year and One day

    5. Contract Amount: United State Dollars/Euros (Buyers Face Value)

    6. Price : Buy:32%+1, Lease: 4%+2

    7. Subsequent tranches: To be mutually agreed between both parties

    8. Issuing Bank: Top RATED world banks like HSBC, Barclays, ING Dutch Bank, Llyods e.t.c

    9. Delivery Term: Pre advise MT199 or MT799 first. Followed By SWIFT MT760

    10. Payment Term: MT799 & Settlement via MT103

    11. Hard Copy: By Bank Bonded Courier

    Interested Agents,Brokers, Investors and Individual proposing international project funding should contact us for directives.We will be glad to share our working procedures with you upon request.

    Name: Muhammed Emir Harun

    Contact Mail


  22. Reply tushar Jan 30,2019 7:09 am

    two different Swift MT103 report can have same session and sequence id ? please help

  23. Reply Daniel Quinn Feb 2,2019 4:45 pm

    For any programmers finding this page in the hopes of writing a library to handle this format, you might want to have a look at this:

    Full disclosure: I wrote it 😉

  24. Reply Fab0 Feb 11,2019 3:28 pm

    Hi guys,

    I need to do a manual download/clearing in Dubai, is anybody here WHO can do it?

    Write me on “Wickr me”…fabo0

  25. Reply Paul Harrison Apr 15,2019 12:35 pm

    Hello Dear

    I have BG/SBLC, BANK DRAFT, MT799 BLOCK FUND, MT103 , BCL and LC , MTN, MT199, MT103/202, Bank Letter/Confirmation, etc.

    Issuing banks moves first with RWA and for bank draft, issuing bank issues softcopy in favor of the applicant.

    Contact me if you are in need or any bank instruments,Bank letter of any kind and confirmation email bank to bank.


    Name: Paul Harrison

Leave a Reply




This site uses Akismet to reduce spam. Learn how your comment data is processed.