^^^
Woops! You have Javascript disabled. Unfortunately this page is as useful as a chocolate teapot without it (but not as tasty).
Thomas Rudge

MT Logo xs

Online MT940/950 Generator
This is an online swift MT940/950 generator. The header for the csv input file can be found here and the field definitions can be found here . You can paste your own data into the first box, or use the default test data for a demonstration.

For more info see the bottom of the page.


☰ more options

Date Format:


{1: Basic Header Block ---------------------------------


App ID:

Service ID:


Session#:

Sequence#:


{2: Application Header Block ---------------------------


Direction:

Priority:


Obsolescence:

Delivery Monitoring:


Input Time#:

Output Time#:


Output Date#:

Msg Input Ref#:


{3: User Header Block ----------------------------------


Msg User Ref#:


Priority Code#:


{5: Trailer Block --------------------------------------


Checksum#:


I originally wrote this conversion script in Python and packaged it in a GUI for a company in Germany. However the version running on this page is written in Javascript, so the conversion takes place in your browser and not on a hidden server somewhere. You can see both versions of the script on this GitHub page , and a Ruby version here . Alternatively you can view this pages source files.

The input csv data must comply with RFC-4180 standards, with the only exception being that the generator cannot handle new-line characters within cell values (though swift doesn't allow this in reference fields anyway). You can select the output message type using the drop-down option. If left on auto the script will only produce an MT940 if it finds at least one record with a field 86 (Ref 4) populated. The advanced options give you more control over the output. By default the program expects dates in the input data to be in ISO8601 format (YYYYMMDD), and the desired output to be basic normal priority inward (to swift) messages. No validation is performed on either the input, or output, and final responsibility for ensuring the outputs completeness and compatibility lies with you.

You can read more about the swift message block structure, including headers, in IBM's knowledge center and on Sepa's corporate website. You can read more about MT940 and MT950 messages in Swift's User Handbook. It's all riveting stuff.