Free HL7 Parser & HL7 Viewer Online
Paste an HL7 v2 message and quickly view readable segments, fields, components, and subcomponents. This free HL7 parser and HL7 viewer supports common ADT, ORU, ORM, SIU, MDM, DFT, lab, admission, billing, and scheduling messages directly in your browser.
HL7 parsing runs client-side, so message content is not transmitted to $Efneze servers.
Patient & Admission
MSH, PID, PV1, PV2, EVN, NK1
Clinical & Lab
OBR, OBX, DG1, AL1, NTE, PR1
Financial & Insurance
IN1, IN2, GT1, FT1
Pharmacy & Scheduling
RXE, RXD, SCH, RGS, AIL, AIP
Documentation & System
TXA, MSA, ERR
What this HL7 parser does
- Parses HL7 v2 pipe-delimited messages into readable segments and fields
- Displays MSH, PID, PV1, OBR, OBX, ORC, AL1, DG1, IN1, NK1, RXE, SCH and other segments
- Breaks fields into components and subcomponents where applicable
- Helps troubleshoot ADT, ORU, ORM, SIU, MDM, DFT and lab result messages
- Exports parsed output as JSON or CSV for analysis
- Runs in your browser with no server-side message upload
By using this free tool, you agree to the Efneze Terms of Use and Privacy Policy. Processing runs in your browser during normal use. Avoid pasting sensitive, production, credential, token, PHI, or confidential data unless permitted by your organization's policies.
Have feedback or an edge case for this tool?
Many tools begin as ideas from engineers solving practical technical problems. If you encounter an unusual format, have a feature request, or find a bug, share your feedback with the community.
Browser tools process data locally in your browser runtime. Avoid submitting sensitive information or PHI.
Supported HL7 message types
| Message Type | Common Event | Typical Use | Common Segments |
|---|---|---|---|
| ADT | A01, A03, A04, A08 | Admission, discharge, registration, patient updates | MSH, EVN, PID, PV1, PV2, NK1, AL1, DG1 |
| ORU | R01 | Lab results and clinical observations | MSH, PID, OBR, OBX, NTE |
| ORM | O01 | Orders for labs, imaging, procedures | MSH, PID, ORC, OBR, NTE |
| SIU | S12, S13, S14, S15 | Scheduling and appointment workflows | MSH, SCH, PID, PV1, RGS, AIL, AIP |
| MDM | T02, T04, T06 | Medical document management | MSH, PID, PV1, TXA, OBX |
| DFT | P03 | Billing and charge transactions | MSH, PID, PV1, FT1, DG1, IN1 |
| VXU | V04 | Immunization updates | MSH, PID, ORC, RXA, RXR, OBX |
Support depends on the segment structure present in the pasted message. The parser is designed for inspection, debugging, and transformation planning, not a replacement for environment-specific interface engine validation.
Common HL7 v2 segments explained
| Segment | Full name | What it contains | Common use in parsing |
|---|---|---|---|
| MSH | Message Header | Sending app, receiving app, timestamp, message type, control ID, version | Determines message type and parsing context |
| PID | Patient Identification | MRN, patient name, DOB, gender, address, identifiers | Patient matching and demographics |
| PV1 | Patient Visit | Encounter type, location, attending provider, visit number | Visit and admission context |
| EVN | Event Type | Trigger event and event timestamp | ADT workflow event tracking |
| NK1 | Next of Kin | Emergency contacts, relationship, phone/address | Contact extraction |
| ORC | Common Order | Order control, placer/filler order numbers, provider | Order lifecycle tracking |
| OBR | Observation Request | Ordered test, collection time, ordering provider | Lab/imaging order context |
| OBX | Observation Result | Result code, value, units, ranges, status | Lab result and clinical observation extraction |
| AL1 | Allergy Information | Allergen, reaction, severity | Allergy data extraction |
| DG1 | Diagnosis | Diagnosis code, description, type | ICD/diagnosis extraction |
| IN1 | Insurance | Payer, plan, policy/member ID | Insurance parsing |
| GT1 | Guarantor | Guarantor name, relation, address | Billing workflows |
| FT1 | Financial Transaction | Charges and financial details | Billing/claims support |
| RXE | Pharmacy Encoded Order | Medication order details | Medication workflows |
| RXA | Pharmacy Administration | Immunization or medication administration | Immunization/vaccine events |
| SCH | Schedule Activity | Appointment information | Scheduling interfaces |
| TXA | Document Notification | Document metadata | Medical document management |
| ERR | Error | Interface error details | Acknowledgement/debugging workflows |
| NTE | Notes | Free-text notes and comments | Contextual notes |
HL7 viewer vs HL7 parser
An HL7 viewer online makes pipe-delimited messages readable for humans by displaying each segment and field in a structured layout. An HL7 parser online goes deeper by breaking the message into segments, fields, components, and subcomponents that can be copied or mapped into downstream workflows.
This page functions as both: a readable HL7 viewer and a structured HL7 message parser. It is also useful as an HL7 segment viewer when you need to inspect MSH, PID, PV1, OBR, OBX, ORC, AL1, DG1, IN1, and related segment details.
How to parse an HL7 message online
- Paste your HL7 v2 message into the Raw HL7 Message box.
- Choose whether to exclude PHI from copied output.
- Review parsed segments such as MSH, PID, PV1, OBR, and OBX.
- Expand fields, components, and subcomponents to inspect values.
- Copy the parsed result as JSON or CSV for analysis.
HL7 parser use cases
Integration Testing
Verify generated HL7 messages before go-live and confirm that key MSH, PID, PV1, OBR, and OBX fields appear as expected.
ETL Development
Inspect exact field positions before mapping HL7 feeds into a warehouse, lakehouse, or normalized staging model.
Interface Troubleshooting
Decode failed messages from transaction logs to identify malformed segments, missing fields, or unexpected trigger events.
Training & Onboarding
Teach analysts and new integration engineers how HL7 messages are structured using readable parsed examples.
FHIR Migration Planning
Review source fields before mapping HL7 v2 content into FHIR Patient, Encounter, Observation, Condition, or MedicationRequest resources.
Compliance Auditing
Identify PHI-bearing fields before copying parsed output or designing masking rules.
Hospital Interface Engine Debugging
Review message structure from tools such as Mirth Connect, Rhapsody, Corepoint, or similar engines without implying any vendor partnership.
HL7 Feed Onboarding
Evaluate new ADT, ORU, ORM, SIU, MDM, and DFT feeds before production ingestion.
Lab Result Message Inspection
Use OBR and OBX parsing to review lab order context, result values, units, ranges, and status.
ADT Workflow Review
Inspect admission, transfer, discharge, registration, and patient update events.
QA Testing
Test HL7-generating systems with synthetic and authorized messages before release.
Data Mapping Before Ingestion
Compare message contents with target schemas before healthcare ETL architecture decisions.
Example HL7 ADT message
MSH|^~\&|SYNTH_EHR|FAKE_HOSPITAL|ADT_RECEIVER|DEMO_CLINIC|20260601143000||ADT^A01|MSG00001|P|2.5.1 EVN|A01|20260601143000 PID|1||DEMO0001^^^MRN^MR||EXAMPLE^ALEX^A||19800101|U PV1|1|I|UNIT^101^1||||0001^DEMO^DOCTOR
MSH identifies the sender, receiver, message type, control ID, and version. EVN describes the ADT event. PID identifies the patient record in synthetic form. PV1 describes visit and admission context.
Example HL7 ORU lab result message
MSH|^~\&|SYNTH_LAB|FAKE_LAB|SYNTH_EHR|DEMO_CLINIC|20260601164500||ORU^R01|LAB00002|P|2.5.1 PID|1||DEMO0004^^^MRN^MR||EXAMPLE^CASEY||19880202|U OBR|1||ORDER0002|CBC^Complete Blood Count|||20260601160000 OBX|1|NM|718-7^Hemoglobin^LN||13.2|g/dL|12.0-16.0|N|||F
OBR describes the ordered test and order context. OBX contains result values, units, reference ranges, abnormal flags, and status. These examples are synthetic and should be used for parser testing only.
Related HL7 and interoperability resources
Learn more about HL7 segments, read the HL7 parsing guide, compare FHIR vs HL7, validate mapped resources with the FHIR validator, inspect clinical documents with the CCDA viewer, review healthcare ETL architecture, or explore the enterprise HL7 parser product workflow.
Frequently Asked Questions
What is an HL7 parser?
An HL7 parser reads pipe-delimited HL7 v2 messages and breaks them into structured segments, fields, components, and subcomponents for inspection, mapping, troubleshooting, or transformation planning.
What is an HL7 viewer?
An HL7 viewer makes raw HL7 messages readable for humans by labeling segments such as MSH, PID, PV1, OBR, and OBX and displaying field values in a structured view.
Can I parse HL7 messages online for free?
Yes. This free HL7 parser online lets you paste synthetic or authorized HL7 v2 messages and view parsed segment and field output directly in your browser.
What HL7 versions does this parser support?
The parser is designed for common HL7 v2.x message structures. It detects the declared version from MSH-12 when that field is present.
Can this parse ADT and ORU messages?
Yes. The tool can inspect common ADT admission, transfer, discharge, and registration messages as well as ORU lab result messages with OBR and OBX segments.
What is the difference between MSH, PID, PV1, OBR, and OBX?
MSH identifies message routing and type, PID identifies the patient, PV1 describes visit context, OBR describes an ordered test or observation request, and OBX contains observation result values.
Can I export parsed HL7 as JSON or CSV?
Yes. After parsing a message, you can copy parsed output as JSON or CSV. The page also includes a JSON download option for analysis workflows.
Is it safe to paste PHI into an online HL7 parser?
Parsing is performed in your browser, and HL7 message content is not intentionally transmitted to ${Brand.name} servers. For real PHI, always follow your organization’s privacy, security, and compliance policies. Use the Exclude PHI option before copying parsed output.
Is this a full HL7 validator?
No. This page is an HL7 parser and viewer for inspection and debugging. Environment-specific validation, implementation-guide conformance, interface acknowledgements, and production rules should still be handled by your interface engine or validation workflow.
Can this help with HL7 to FHIR mapping?
Yes. Parsing HL7 segments and fields makes it easier to identify source values before mapping messages into FHIR resources such as Patient, Encounter, Observation, Condition, and MedicationRequest.