Privacy Note: Tool input is not intentionally transmitted to $Efneze servers. Avoid using live secrets, credentials, or production PHI.

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
Load synthetic examples:Use synthetic sample messages to test parsing before pasting your own HL7 data.
Exclude PHI
Edit below

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.

Enter an HL7 message to see the parsed structure.

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 TypeCommon EventTypical UseCommon Segments
ADTA01, A03, A04, A08Admission, discharge, registration, patient updatesMSH, EVN, PID, PV1, PV2, NK1, AL1, DG1
ORUR01Lab results and clinical observationsMSH, PID, OBR, OBX, NTE
ORMO01Orders for labs, imaging, proceduresMSH, PID, ORC, OBR, NTE
SIUS12, S13, S14, S15Scheduling and appointment workflowsMSH, SCH, PID, PV1, RGS, AIL, AIP
MDMT02, T04, T06Medical document managementMSH, PID, PV1, TXA, OBX
DFTP03Billing and charge transactionsMSH, PID, PV1, FT1, DG1, IN1
VXUV04Immunization updatesMSH, 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

SegmentFull nameWhat it containsCommon use in parsing
MSHMessage HeaderSending app, receiving app, timestamp, message type, control ID, versionDetermines message type and parsing context
PIDPatient IdentificationMRN, patient name, DOB, gender, address, identifiersPatient matching and demographics
PV1Patient VisitEncounter type, location, attending provider, visit numberVisit and admission context
EVNEvent TypeTrigger event and event timestampADT workflow event tracking
NK1Next of KinEmergency contacts, relationship, phone/addressContact extraction
ORCCommon OrderOrder control, placer/filler order numbers, providerOrder lifecycle tracking
OBRObservation RequestOrdered test, collection time, ordering providerLab/imaging order context
OBXObservation ResultResult code, value, units, ranges, statusLab result and clinical observation extraction
AL1Allergy InformationAllergen, reaction, severityAllergy data extraction
DG1DiagnosisDiagnosis code, description, typeICD/diagnosis extraction
IN1InsurancePayer, plan, policy/member IDInsurance parsing
GT1GuarantorGuarantor name, relation, addressBilling workflows
FT1Financial TransactionCharges and financial detailsBilling/claims support
RXEPharmacy Encoded OrderMedication order detailsMedication workflows
RXAPharmacy AdministrationImmunization or medication administrationImmunization/vaccine events
SCHSchedule ActivityAppointment informationScheduling interfaces
TXADocument NotificationDocument metadataMedical document management
ERRErrorInterface error detailsAcknowledgement/debugging workflows
NTENotesFree-text notes and commentsContextual 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

  1. Paste your HL7 v2 message into the Raw HL7 Message box.
  2. Choose whether to exclude PHI from copied output.
  3. Review parsed segments such as MSH, PID, PV1, OBR, and OBX.
  4. Expand fields, components, and subcomponents to inspect values.
  5. Copy the parsed result as JSON or CSV for analysis.
Try the free HL7 parser

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.