Paste HL7 v2 messages
One message or a whole batch. Each message is parsed into segments and fields, decoded against the version in MSH-12 with names and code meanings, and validated against every version to show which one the content actually fits.
Privacy: this page runs entirely on your computer and is blocked from making network requests. Pasted messages are kept only in this tab's memory: they're never saved, uploaded or written to browser storage. If you enter a license key, only the key is saved in this browser. You can drop a .hl7 or .txt file onto the box above.
New here? Read the guide: a tour of every feature, with screenshots.
What to expect with large batches
Messages are decoded in batches of up to 10,000 messages or 5 MB of text, whichever comes first, so the browser tab doesn't run out of memory. Larger input is split into several batches automatically. Only one batch is open at a time; use Next batch to move through them. With Cycle through every batch automatically on (the default), every batch is also checked in the background, one after another, so the sensitive-information totals, patient list and feed profile cover the whole input without any clicking. All batches exports write one CSV covering everything.
The Free version decodes the first 10 messages of any input. A Pro, Team or Business license removes that limit and adds batches and CSV exports.
Files larger than one batch are never loaded whole. They're scanned for message boundaries, then each batch is read from disk as you open it, so even very large logs work. For anything over a few MB, Open file… is faster than pasting.
Timings for one batch:
| Batch | Text | First message | Background check | CSV export |
|---|---|---|---|---|
| 1,000 messages | 0.4 MB | instant | ~0.3 s | ~0.2 s |
| 10,000 messages | 3.7 MB | instant | ~3 s | ~2 s |
The first message appears straight away. The rest of the batch is checked in the background (issue counts in the message list, sensitive-information totals, the feed profile) while you work, with progress shown above the message. Only the messages you look at are kept fully decoded, so a 10,000-message batch uses about 200 MB of memory in total, including about 80 MB for the reference data (all 14 HL7 versions plus ICD-10-CM and ICD-10-PCS).
Measured on a typical laptop, in the same JavaScript engine Chrome uses, with short ADT test messages (about 370 bytes each). Real messages are often 1–3 KB, so a batch usually holds about 1,700–5,000 of them.
Very large single messages show their first 1,500 segments (and 3,000 decoded rows) straight away, with a button to show everything.