twineconvert

free · in-browser · no upload

HL7 to CSV
Converter

Drop your HL7 v2 file. We'll convert it to CSV right here in your browser, your file never leaves your device.

or drop your file

Select your file here to get started

or drop your file here.

Accepts .hl7, .txt

nothing uploaded no file size cap no signup

How it works

Three steps. No upload, no signup.

  1. 1

    Drop your file

    Click the dropzone above or drag a HL7 v2 from your desktop. Files of any size, there's no upload, so there's no upload limit.

  2. 2

    Convert in your browser

    The conversion runs entirely in this tab using JavaScript and WebAssembly. Your file never touches our servers, we don't have any.

  3. 3

    Download

    Get your CSV the moment the conversion finishes. Convert another, or close the tab.

Files stay on your device

Your file is never uploaded. The entire conversion runs in your browser using WebAssembly. We can't see what you convert because we have no server to see it.

No file size limit

Server converters cap free users at 1-2 GB and gate larger files behind a paid plan. Since nothing uploads, our limit is whatever your browser can handle.

Free, no signup, no ads on conversions

No account required. No watermark on the output. No queue. Drop a file, get a converted file.

Why convert HL7 → CSV

What this conversion is actually for

HL7 v2 messages are pipe-delimited blobs that defy spreadsheet inspection — you can't open one in Excel and triage what's inside. Converting to CSV lets a clinical data analyst, integration engineer, or QA team scan a day's worth of ADT/ORU/ORM messages, filter by segment type, and audit message volumes without standing up Mirth Connect or a HAPI FHIR server. Also useful for HIPAA audit logs that need flat-file export.

A real example

Your hospital's interface engine logged 18,000 HL7 messages overnight. You suspect an outbound feed dropped a third of its ADT^A04s. Drop the message log, get a CSV with one row per segment, filter for segment='MSH' and message type, count rows. Three minutes vs three hours building a Mirth dashboard.

Troubleshooting

My CSV has way more rows than messages — what's happening?

Each HL7 message contains multiple segments (MSH + EVN + PID + PV1 + ...). The CSV emits one row per SEGMENT, not per message. To count messages, filter for segment='MSH'. To group by message, you'd add a `message_id` column based on MSH-10 — easier in your spreadsheet's pivot table than at conversion time.

Some segments are missing fields I expect to see.

HL7 v2 allows trailing field omission — a message with PID-1 through PID-15 may simply end after PID-15 with no trailing pipes. We treat those as empty strings in the output CSV. If your downstream tool needs explicit nulls, replace empty cells with `NULL` in a spreadsheet pass.

Non-ASCII characters in patient names came out garbled.

HL7 v2 doesn't mandate an encoding; older feeds use Windows-1252 or ISO-8859-1, modern ones use UTF-8. We assume UTF-8 (matching the JS string default). If yours was Windows-1252, open the source file in a text editor and re-save as UTF-8 first, then re-run.

Formats involved

About HL7 v2 and CSV

HL7 v2, Health Level 7 version 2.x messaging

HL7 v2 is the universal messaging standard between U.S. hospital systems — Epic, Cerner, Meditech, Allscripts, Athena all speak it for ADT (admit/discharge/transfer), ORU (observation results), ORM (orders), and billing messages. Format dates to 1989; v2.5 (2003) is the most-deployed version. Pipe-delimited segments with caret-separated components and tilde-separated repetitions; the MSH header carries encoding characters and routing metadata. Despite FHIR's modern push, v2 still powers the operational backbone of most hospital networks.

How to open

Any text editor — HL7 v2 is plain text with `|`/`^`/`~` as delimiters. Specialized viewers (Mirth Connect, Iguana, NextGen Connect, IBM Sterling) parse + index segments. For programmatic use, libraries exist for every language (HAPI in Java/.NET, hl7v2-js in Node).

CSV, Comma-Separated Values

CSV is plain text, one row per line, fields separated by commas. The simplest possible tabular data format, which is exactly why it remains the most portable: every spreadsheet, database, programming language, and analytics tool reads CSV. Tradeoffs: no formulas, no formatting, no multiple sheets, and various edge cases around quoting fields that contain commas or newlines.

How to open

Excel, Google Sheets, Apple Numbers, LibreOffice Calc, any text editor, every database import wizard, every programming language with one line of code.

Related tools

Convert other files to CSV

Convert your HL7 v2 to other formats

FAQ

Common questions

Is this HL7 → CSV converter really free?

Yes. No signup, no watermark, no daily file count limit. Every conversion runs in your browser, your file never touches our servers because there are no servers.

Where does my file go when I convert it?

Nowhere. The conversion runs entirely in your browser using JavaScript and WebAssembly. Your file is never uploaded to our servers. We don't have any servers handling files, there's nothing for us to log, store, or accidentally leak.

What's the maximum file size?

Whatever your browser can hold in memory. Practically, this means a few hundred MB on most computers, significantly larger than the 1-2 GB caps that server-upload converters charge for. Very large files (multi-GB) may require closing other browser tabs first.

Why convert HL7 v2 to CSV?

Hospital-to-hospital and intra-hospital clinical messaging. Universal tabular data interchange. The most common reason to convert is compatibility, CSV works in places where HL7 v2 doesn't, or vice versa.

How do I open a HL7 v2 file in the first place?

Any text editor — HL7 v2 is plain text with `|`/`^`/`~` as delimiters. Specialized viewers (Mirth Connect, Iguana, NextGen Connect, IBM Sterling) parse + index segments. For programmatic use, libraries exist for every language (HAPI in Java/.NET, hl7v2-js in Node).

Does this work offline?

Once the page is loaded, the conversion itself runs entirely offline. The first time you use a tool, your browser downloads the conversion library (a one-time cache). If you reload while offline, the page won't load, but you can install the site as a Progressive Web App for full offline use.

Can I convert multiple files at once?

Single file at a time for now. Batch conversion is on the roadmap, for now, drop one file, download the result, then convert the next.