Skip to content
{}

JSON to JSONL

Turn a JSON array into newline-delimited JSON records for streaming loaders.

0 chars | 1 lines
0 chars | 0 lines

Conversion payloads stay in this browser tab and are never placed in page URLs - see how local processing works. Privacy-safe analytics record only the tool, outcome, and a coarse input-size bucket.

How to Convert JSON to JSON Lines

Paste a JSON array and each element is written as a compact single-line record in the original order. Nothing is renamed, reordered, or omitted - the transformation is purely one of framing, from one array with commas to many independent lines.

Why Loaders Prefer Line-Delimited JSON

A newline-delimited file can be split at any line boundary, so a loader can parallelise it across workers and resume after a failure at a known record. It also bounds memory: a 20 GB array must be parsed as one value, while 20 GB of lines can be processed a record at a time. That is why bulk-import APIs almost universally ask for this format.

Frequently Asked Questions

What input does it accept?

A JSON array, which becomes one line per element. A single JSON object is also accepted and returned as one line, which is the correct JSONL representation of a one-record file.

Is each line minified?

Yes, and it has to be. A JSON Lines record must occupy exactly one line, so pretty-printing would break the format for every reader that splits the file on newlines.

Can arrays of primitives be converted?

Yes. Each number, string, or boolean becomes its own line. Most loaders expect objects, but the format itself allows any JSON value per line.

Which tools need JSONL?

BigQuery and Snowflake bulk loads, the OpenAI batch and fine-tuning APIs, Elasticsearch bulk requests, and most log shippers. They read one record at a time, so a single enormous array is exactly the shape they cannot stream.

Related Tools