HL7 transport utility
MLLP Frame Inspector & Encoder
Inspect HL7 v2 MLLP streams, validate VT–FS–CR boundaries, extract individual messages, display invisible control characters, view raw bytes, or wrap plain HL7 in MLLP.
Inspector and encoder
Paste an MLLP stream or plain HL7
Use raw control characters, visible tokens such as <VT> and <FS>, escaped notation such as \x0B, or a hex byte sequence.
Raw VT, FS, and CR characters may be invisible in the input box. The output views make them explicit.
Stream diagnostics will appear here.
HL7 payload will appear here.
Visible control characters will appear here.
Escaped MLLP will appear here.
Hex bytes will appear here.
Frame diagnostics will appear here.
Supported in this version
Focused MLLP transport diagnostics
Frame boundaries
Detects the MLLP start block VT (0x0B), end block FS (0x1C), and required trailing CR (0x0D).
Multiple messages
Splits multiple frames from one pasted stream and lets you inspect each payload separately.
Input representations
Accepts raw controls, \xNN/\uNNNN escapes, visible VT/FS/CR tokens, and hexadecimal bytes.
HL7 checks
Summarises MSH message type, control ID, version, segment count, and CR versus CRLF/LF line endings.
Encoding actions
Wraps plain HL7 with VT … FS CR, normalises segment separators to CR, and unwraps the selected frame.
Deliberate limits
No network connection, socket testing, TLS, character-set conversion beyond UTF-8 display, or site-specific interface-profile validation.
FAQ
MLLP inspector questions
What is a valid MLLP frame?
A normal frame begins with VT (0x0B), contains the HL7 payload, ends with FS (0x1C), and is immediately followed by CR (0x0D). The HL7 payload itself normally uses CR between segments.
Why can I not see the framing characters?
VT, FS, and CR are control characters and are usually invisible in ordinary text boxes. Use Visible controls, Escaped frame, or Hex dump to see them explicitly.
Does MLLP use CRLF?
The frame terminator is FS followed by CR. HL7 v2 segment separators are also normally CR. Some systems add LF characters, which this tool preserves and flags for review.
Can this test an MLLP server?
No. It is a local framing and byte-inspection tool; it does not open a TCP connection or transmit messages.
Can I paste real patient messages?
No. Use synthetic, anonymised, or test data only.