Message Parser
Parse, validate, and explore HL7 v2 messages
A multi-pane workspace for reading, validating, and exploring HL7 v2 messages, entirely in your browser.
Load a message and the parser validates it against the HL7 v2 schema, renders it in a syntax-highlighted editor, breaks it into a field-by-field grid, and shows the schema for whatever field you select. The panes stay in sync: click a field in one and the others follow. The parser handles HL7 v2 only (v2.1 through v2.9); it does not parse v3 or FHIR.
Nothing leaves your browser
Parsing and validation run client-side in a Web Worker. The API is used only for schema and terminology lookups. Your message content is never uploaded. See the PHI Masking and Security pages for the details.
The Workspace
The default layout: the Messages pane on the left, the editor and Segment Grid stacked in the center, and the Details pane on the right, with PID-8 selected. The toolbar runs across the top and the status bar across the bottom.
The Toolbar
The toolbar across the top drives the whole workspace: the version selector, the online/offline (cloud) toggle, the panes menu, the toolbar-density toggle, file open, Validate, Rules, Samples, undo/redo/copy, the PHI masking toggle, trash, and links out to the Spec browser and these Docs (the Help button).
The parser toolbar: version, offline toggle (cloud), panes menu, toolbar density, file open, Validate, Rules, Samples, undo/redo/copy, PHI, trash, Spec, and Docs.
A Typical Session
Load a message
Paste HL7 text into the editor, drag and drop .hl7 files onto it, use the file-open button in the toolbar, or pick one from Samples. The parser also detects HL7 content on paste.
Let it detect the version
The version is read from MSH-12. Override it with the version selector in the toolbar to validate the same message against a different release.
Read the grid
The Segment Grid lists every field with its name, data type, optionality, length, table binding, and value. Validation badges flag anything the schema rejects.
Click a field
Selecting a field in the editor, grid, or tree selects it everywhere and opens its schema in the Details pane. Composite fields drill down to the component and subcomponent you clicked.
Hover for schema
Hover a field in the editor for a tooltip with its name, data type, optionality, length, item number, and section reference, plus any validation issues. Validation issues that cite a spec section (for example withdrawn or backward-compatible fields) include a "More" link that opens that section of the HL7 documentation in a popup (hidden in offline mode).
Complete from the tables
Press Ctrl+Space on a coded field to pick from its bound HL7 table (or a terminology match for external code systems). On a date/time field you get format snippets including "Now".
Validate
Turn on the Validate toggle in the toolbar to validate as you type. Findings collect in the Validation pane, grouped and filterable, each linking back to its field.
Completion and Hover
Ctrl+Space on PID-16 (Marital Status) lists the values from Table 0002. The Details pane shows the same field.
The editor is Monaco with an HL7 v2 language service. Typing a |, ^, or ~ opens suggestions automatically, and the colors come from one of the built-in editor themes. See the Message Editor page for the full completion and hover behavior.
Validation Layers
The Validation pane has a layers dropdown that switches between three strictness profiles: Quiet, Medium, and Strict. Quiet suppresses informational and pedantic noise; Strict promotes length and primitive-component checks to errors and additionally enables minimum-cardinality and message-structure checks; Medium is the baseline. Deep coverage of each check lives in the Validation Guide.
Example Message
Sample ADT^A01 message
MSH|^~\&|ADT1|MCM|LABADT|MCM|20250225120000||ADT^A01^ADT_A01|MSG00001|P|2.5.1
EVN|A01|20250225120000
PID|1||MRN12345^^^MCM^MR||EVERYWOMAN^EVE^A||19850315|F|||153 FERNWOOD DR^^STATESVILLE^OH^35292||^PRN^PH^^1^614^5551234
PV1|1|I|GENHOSP^401^1|||ATTEND^AARON^A^^^DR|||SUR||||ADM|A0Arranging the Panes
The panes live in a layout you can resize by dragging borders. Show or hide any pane from the panes menu in the toolbar. That is where you turn on the Tree Navigator, which is off by default. Focus mode hides everything but the editor. Your layout is saved and restored between sessions.
The panes menu lists every pane with a visibility toggle and a count of visible panes.
The Panes
Each pane has its own page covering its controls and interactions:
Related Documentation
Related Pages
Messages Browser
The loaded-message list and encrypted, cross-session storage
Message Editor
The Monaco-based HL7 v2 editor: completion, hover, and header controls
Segment Grid
Every field as a row, with its schema columns and inline validation
Details Panel
The full schema for whatever field you have selected
Validation Panel
Every finding, filterable, with links back to the field
Tree Navigator
A collapsible tree of the whole message
Component Editor
Break a composite value into its components and edit them safely
Editor Themes
Customize syntax highlighting colors for the HL7 message editor