Paste or drop
Paste raw FIX, prefixed log lines, JSON-wrapped logs, or a whole file. Pipe, SOH, and ^A
delimiters are detected automatically.
FIXtags turns raw FIX messages and ordinary log lines into a searchable message stream and correlated order lifecycles. Parsing happens locally in your browser.
Paste raw FIX, prefixed log lines, JSON-wrapped logs, or a whole file. Pipe, SOH, and ^A
delimiters are detected automatically.
FIXtags extracts each message, decodes tags and enum values, and groups related messages across cancel/replace chains.
Search by ClOrdID, OrigClOrdID, OrderID, symbol, account, message type, or any field value.
Switch to Orders, select the order, then click any lifecycle message to inspect its decoded fields and raw FIX.
The Orders view rolls the initial order, acknowledgements, fills, cancels, and replacements into one row. Replacement ClOrdIDs remain connected to the original chain.
Most investigations start in Orders, then move into the exact messages and fields that explain the lifecycle.
Use Working, Partial, Filled, Canceled, Unacked, and Rejected chips to isolate the lifecycles that matter. The live counts update with the current data.
Select a message to see its raw FIX, decoded tag names and enum values, repeating groups, and checksum/BodyLength validation.
FIXtags flags lifecycle inconsistencies such as fills after terminal states, quantity mismatches, duplicate ExecIDs, unacknowledged orders, and sequence gaps.
Pin important messages, compare two messages field by field, promote useful tags into columns, or drag across the activity timeline to isolate a time window.
The CLI starts a localhost-only bridge and opens FIXtags connected to the stream. Nothing is sent to a remote backend.
npx fixtags fix.logRun without installingnpm install -g fixtagsInstall the fixtags commandnpx fixtags /var/log/fix.logFollow a filetail -f fix.log | npx fixtagsPipe any commandssh prod 'tail -f /var/log/fix.log' | npx fixtagsTail remotely over SSHORD-001Text anywhere in the message11=ORD-001Exact tag and value@Symbol == "AAPL"Field-name query@MsgType == @ExecutionReportDecoded enum alias@Symbol == "AAPL" and @Side == @BuyCombined conditionsType @ for field autocomplete. Use the .* Regex button when a regular expression
is the clearest match.
A plain CLI run is temporary and ends with Ctrl-C. Name a session or stream when several terminals should feed one browser workspace or when a feed needs to survive terminal restarts.
fixtags --session cert --stream orders cert.logName the workspace and feedfixtags --stream orders -- kubectl logs pod-a -fLet FIXtags manage the commandfixtags lsList background sessionsfixtags streams lsList streams in the selected sessionfixtags --bg fix.logKeep a background session after the terminal exitsfixtags --newClear the selected session and start freshfixtags streams clear ordersRemove one stream's retained messagesfixtags streams stop ordersStop accepting that stream until its feeder is rerunfixtags sessions stopStop the selected background sessionfixtags urlPrint the selected session's browser URLfixtags configShow persisted CLI defaultsfixtags --helpShow every command, option, and example--localServe the app locally for Safari or offline use--echoMirror streamed lines to the terminal--decodeAnnotate FIX enum values in terminal output--history NSet how many lines a background session retains--idle-timeout MINChoose when an inactive background session exits--no-openPrint the URL without opening a browser--grep prints matching original log lines and exits without starting a server or writing session
state.
fixtags --grep '@Symbol == "AAPL"' fix.logQuery by decoded fieldfixtags --grep '35=8' -c fix.logCount ExecutionReports