Convert JSONL to CSV

Log exports and event streams arrive as one JSON object per line. Getting them into a spreadsheet means reconciling records that do not all share the same fields — which this converter does by building the header from every key it sees.

  • Runs in your browser
  • No signup
  • No upload
  • Free

JSONLCSV

Runs on your device
Options

Reading JSONL

Writing CSV

Work with Parquet as well?See ParquetReader with ParquetReader — opens Parquet files directly.
What happens

How this converter handles JSONL to CSV

  1. Reads each line as an independent JSON object, skipping blanks.
  2. Reports and skips malformed lines instead of aborting the conversion.
  3. Flattens nested objects into dotted columns.
  4. Builds the header from the union of all keys, so late-added fields are not lost.
Format differences

JSONL vs CSV

One JSON object per line, built for streaming and appending. Plain text rows that open anywhere, with no types and no schema.

JSONLCSV
Type informationStrings, numbers, booleans, nullNone — every value is text
StructureOne nested object per lineFlat rows and columns
CompressionNoneNone
Typical file sizeSlightly under JSONBaseline (100%)
SchemaImplicit, per lineHeader row at best
Human-readableYes, one record at a timeYes, in any text editor
Tool supportLog pipelines, LLM training sets, BigQueryUniversal
Worth knowing

What to watch out for

Schema drift shows up as empty columns

Events gain fields over time. Records written before a field existed get an empty cell for it, which is accurate rather than an error.

The whole file is read before writing

The header has to be the union of every key, so every line is parsed before the first row is written. That is why memory, not file size, is the limit.

Nested log records get wide fast

Structured logs nested several levels deep can produce dozens of columns. Targeting a subset with a record path keeps it readable.

When you need this

Common reasons to convert JSONL to CSV

Analysing a day of logs in a spreadsheet

Filtering and pivoting in Excel is often the quickest route to an answer for a one-off question.

Sharing event data with non-engineers

CSV is the format everyone can open.

Importing into a CSV-only tool

Many analytics and CRM imports accept nothing else.

FAQ

JSONL to CSV questions

Is my file uploaded?
No. The conversion runs in your browser using WebAssembly and JavaScript. The file is read from your disk into a Web Worker, converted in memory, and handed back as a download. It is never sent to a server, so there is nothing for us to store, log or leak.
Is NDJSON the same as JSONL?
Yes. NDJSON, JSONL and JSON Lines all describe one JSON value per line. Both .jsonl and .ndjson extensions work.
What happens to lines that fail to parse?
They are skipped and counted, and the conversion reports the first failing line number. Truncated final lines in copied log files are the usual cause.
Why does my CSV have more columns than I expected?
Because the header is the union of every key across every line. One unusual record with extra fields adds columns that are empty elsewhere.
Will it open properly in Excel?
Turn on "Add BOM for Excel" if the data contains non-ASCII characters.