A SWIFT Message consists of 1 to 5 blocks that are described in the table below. Links to detailed descriptions of each block are provided as well.

Block Identifier Block name Mandatory or optional Description (SWIFT standards) Comments
1 basic headermandatory The only mandatory block is the basic header. The basic header contains the general information that identifies the message, and some additional control information. The FIN interface automatically builds the basic header. Common to all SWIFT messages. It contains five fields that are all mandatory.
2 application headeroptional The application header contains information that is specific to the application. The application header is required for messages that users, or the system and users, exchange. Exceptions are session establishment and session closure. Common to all SWIFT messages. There are two variations: One block for input messages which may contain up to six fields and one for output messages which may have up to seven fields.
3 user headeroptional The user header is an optional header. Common to all SWIFT messages. All fields of the user header (except the tag 103 for FINCopy Service) are optional. Fields are populated in specific situations.
4 text optional The text is the actual data to transfer. This is the block found in the Message Reference Guide. Example for the MT103 message.
5 trailersoptional The trailer either indicates special circumstances that relate to message handling or contains security information. Common to all SWIFT messages. Like the block 3, this block consists of only non mandatory fields except the checksum.

Each block is composed of the following elements.

Element Description
start of block indicator The character { indicates the beginning of a block.
block identifier 1 to 3 alphanumeric characters used to define block contents.
separator The character : indicates the end of the block identifier.
block contents The information that corresponds to the block identifier.
The block content consists of any fixed part information, followed by blocks, subblocks (or both) that contain variable format or optional information.
end of block indicator The character } indicates the end of a block.

An example of a SWIFT MT message is below with the different blocks
75013 PARIS