WebToolsPlanet
Converter Tools

JSON to JSON Lines Converter

Paste a JSON array (or object) and get JSON Lines output — one JSON value per line, perfect for log pipelines, BigQuery, Loki, and streaming consumers.

Last updated: May 27, 2026

Client-Side Processing
Input Data Stays on Device
Instant Local Execution

Find this tool useful? Support the project to keep it free!

Buy me a coffee

What is JSON to JSON Lines Converter?

JSON Lines (also known as **JSONL** or **ndjson** — newline-delimited JSON) is a streaming-friendly variant of JSON where each line is a complete, valid JSON value and lines are separated by `\n`. Unlike a single JSON array, a JSONL file can be parsed one record at a time without loading the whole document into memory, which makes it the default ingest format for many log pipelines (Fluentd, Vector, Logstash), data warehouses (BigQuery, Snowflake), and streaming systems.

Converting from a JSON array is a matter of writing each element on its own line. This tool also supports converting from a JSON object — either by emitting just the values (drops the keys) or by emitting `{ "key": ..., "value": ... }` records that preserve both.

How to Use JSON to JSON Lines Converter

1

Paste a JSON array (or object) into the input panel.

2

Pick a source mode: array (default), object-values, or object-entries.

3

Optionally enable indented per-line output for readability.

4

Copy the JSONL output and feed it to your pipeline.

Common Use Cases

  • Preparing data for BigQuery, Snowflake, or Redshift bulk loads (which accept JSONL).
  • Generating fixtures for log-ingestion tools like Fluentd, Vector, or Logstash.
  • Producing streaming-friendly output from a single JSON document.
  • Converting an API response into a per-record log format.
  • Splitting an aggregated JSON object back into one record per row.

Example Input and Output

A JSON array of three records becomes three JSONL lines.

JSON input
[{"id":1},{"id":2},{"id":3}]
JSONL output
{"id":1}
{"id":2}
{"id":3}

Privacy

All conversion happens in your browser. No JSON is sent to a server.

Object source modes

Use "object-values" when the keys are arbitrary IDs you do not need (e.g. a hash map indexed by UUID). Use "object-entries" when you need to preserve which key produced each record.

Frequently Asked Questions

What is the difference between JSONL and ndjson?
Almost nothing — both refer to one JSON value per newline-separated line. ndjson is the more formal name (a community spec at ndjson.org), JSON Lines is jsonlines.org. Most tools accept either, treating them as synonyms.
Should each line be indented?
JSONL parsers expect each line to be a complete JSON value, so multi-line indented output is not standard JSONL. Enable indent-each-line only if your consumer specifically supports it.
How do I import this into BigQuery?
BigQuery accepts NEWLINE_DELIMITED_JSON files for bq load. Save the output as a .jsonl file and load with --source_format=NEWLINE_DELIMITED_JSON.
Does this send my JSON anywhere?
No. All conversion happens locally in your browser.