FIX Message Parser

Paste a raw FIX message and see every tag broken out by field name and value. Works in your browser, no account needed. Supports FIX 4.0 through FIX 5.0 SP2 and FIXT 1.1.

Parse Message

Copy/Paste any FIX message here to see the parsed tag values.

Need to simulate a full FIX session? Try FIXSIM free for 7 days →
Tag English Value

Ready to go beyond parsing?

Test your full FIX engine end-to-end with FIXSIM - no credit card required.

Start Free 7-Day Trial →

Common FIX Message Examples

A few common message types you'll run into. Paste any of them into the parser above.

Heartbeat (MsgType 0)

Sent between counterparties to confirm the session is alive. Required at regular intervals defined by HeartBtInt (tag 108).

8=FIX.4.4|9=63|35=0|34=1158|49=SENDER|52=20240115-14:30:00.000|56=TARGET|10=212|

Logon (MsgType A)

The first message sent to establish a FIX session. Includes EncryptMethod (tag 98) and HeartBtInt (tag 108) negotiation.

8=FIX.4.4|9=73|35=A|34=1|49=SENDER|52=20240115-14:29:55.000|56=TARGET|98=0|108=30|10=045|

New Order Single (MsgType D)

Submits a new order to a broker or execution venue. The most common message type in equity and listed derivatives trading.

8=FIX.4.4|9=148|35=D|34=2|49=OMS|52=20240115-14:30:01.000|56=BROKER|11=ORD-001|21=1|38=500|40=2|44=150.25|54=1|55=AAPL|60=20240115-14:30:01.000|10=088|

Execution Report (MsgType 8)

Returned by the broker for every order state change: acknowledgement, partial fill, full fill, cancel, or reject. OrdStatus (tag 39) tracks the lifecycle.

8=FIX.4.4|9=196|35=8|34=3|49=BROKER|52=20240115-14:30:02.500|56=OMS|6=150.25|11=ORD-001|14=500|17=EXEC-001|20=0|31=150.25|32=500|37=BRKR-001|38=500|39=2|40=2|44=150.25|54=1|55=AAPL|150=F|151=0|10=199|

Order Cancel Request (MsgType F)

Requests cancellation of an open order. OrigClOrdID (tag 41) must reference the ClOrdID of the original order.

8=FIX.4.4|9=130|35=F|34=5|49=OMS|52=20240115-14:31:00.000|56=BROKER|11=ORD-002|37=BRKR-001|38=500|41=ORD-001|54=1|55=AAPL|60=20240115-14:31:00.000|10=134|

Order Cancel/Replace Request (MsgType G)

Modifies an open order's price or quantity in a single atomic message. The broker responds with an Execution Report confirming the replacement.

8=FIX.4.4|9=148|35=G|34=4|49=OMS|52=20240115-14:30:45.000|56=BROKER|11=ORD-001A|38=300|40=2|41=ORD-001|44=151.00|54=1|55=AAPL|60=20240115-14:30:45.000|10=077|

FIX Protocol Tag Quick Reference

FIX messages are tag=value pairs separated by SOH. These are the tags you'll see in almost every message.

Tag Field Name Description Example Value
8 BeginString FIX protocol version. Always the first tag in a message. FIX.4.4
9 BodyLength Number of bytes in the message body, used for validation. 148
10 CheckSum Three-digit checksum. Always the last tag in a message. 088
11 ClOrdID Client-assigned order identifier. Must be unique within a session. ORD-001
17 ExecID Unique identifier for each execution report. EXEC-001
34 MsgSeqNum Integer sequence number incremented with every message sent. 1158
35 MsgType Identifies the message type. D = New Order, 8 = Execution Report, 0 = Heartbeat, A = Logon, F = Cancel. D
38 OrderQty Requested order quantity in shares or contracts. 500
39 OrdStatus Current status of the order: 0=New, 1=PartialFill, 2=Filled, 4=Canceled, 8=Rejected. 2
40 OrdType Order type: 1=Market, 2=Limit, 3=Stop, 4=StopLimit. 2
44 Price Limit price for the order. 150.25
49 SenderCompID Identifier of the firm sending the message. OMS
52 SendingTime UTC timestamp when the message was sent. Format: YYYYMMDD-HH:MM:SS.sss 20240115-14:30:01.000
54 Side Buy or sell direction: 1=Buy, 2=Sell, 5=SellShort. 1
55 Symbol Ticker symbol of the instrument. AAPL
56 TargetCompID Identifier of the firm receiving the message. BROKER
150 ExecType Describes the nature of the execution report: 0=New, F=Trade, 4=Canceled, 8=Rejected. F
151 LeavesQty Quantity remaining open after this execution. Zero when fully filled or canceled. 0

Frequently Asked Questions

What is a FIX message parser?

A FIX message parser decodes raw FIX protocol strings into human-readable tag names and values. Instead of reading 35=D, you see MsgType = NewOrderSingle. Handy when you're debugging a session issue or just want to know what a message actually contains.

What FIX protocol versions are supported?

The FIXSIM parser supports FIX 4.0, 4.1, 4.2, 4.3, 4.4, FIX 5.0, FIX 5.0 SP1, FIX 5.0 SP2, and FIXT 1.1.

Do I need an account to use the FIX parser?

No. The parser is completely free and requires no login or registration. Paste any FIX message and click Parse Message.

Can I parse multiple FIX messages at once?

Yes. Paste multiple messages into the input field separated by line breaks. Each one decodes separately in the results table.

What is the SOH delimiter in FIX messages?

FIX messages use SOH (ASCII 0x01, Start of Heading) as the delimiter between tag=value pairs. When copying messages from logs, SOH is often rendered as a pipe character (|) or caret (^A). The FIXSIM parser handles both.

What's the difference between a FIX parser and a FIX simulator?

A FIX parser decodes individual messages so you can see what's in them. A FIX simulator like FIXSIM establishes live FIX sessions, acting as a counterparty to your OMS, EMS, or trading system, so you can test order routing, execution logic, drop copy, and session behavior end-to-end without connecting to a live broker.

Parsing FIX Log Files

FIX engines typically write every inbound and outbound message to a log file, one message per line. If you're debugging a session after the fact, you can paste those messages directly into the parser above.

Most FIX log formats preserve the SOH delimiter or substitute a pipe character. Both work here. Copy a line out of the log, paste it in, and you'll see every tag decoded the same way you would on a live message.

If you're dealing with a large log and need to parse messages in bulk or programmatically, that's a different tool -- reach out and we can talk through options.


Test and Simulate FIX Order Flow Before Production

99.9% Uptime Web Based Fully Responsive Monthly Subscriptions