NDJSON Viewer

Paste newline-delimited JSON (NDJSON / JSONL) on the left — one JSON value per line, the format used by application logs, event streams, BigQuery exports, and Kafka pipelines — and get a pretty-printed JSON array on the right. Runs entirely in your browser.

100% Client-Side Instant No uploadYour data never leaves your browser
✓ Valid NDJSON — converted to standard JSON on the right

How to use this tool

Paste your NDJSON document into the input on the left. Each non-blank line must be a complete, valid JSON value.

The right pane shows all lines parsed and combined into a single, pretty-printed JSON array — one element per input line.

Blank lines are skipped automatically, which is the standard NDJSON behavior for log streams that emit occasional empty separators.

If any line contains invalid JSON, you will get an error message identifying the exact line number so you can fix it.

All parsing is local. Your NDJSON never leaves your browser.

Frequently asked questions

What is NDJSON / JSONL?

NDJSON (Newline-Delimited JSON), also called JSONL or JSON Lines, is a streaming-friendly format where each line of a file is a self-contained JSON value. Unlike a JSON array, NDJSON does not wrap values in [ ] or separate them with commas — the newline is the delimiter. This makes it ideal for append-only logs and streaming pipelines, because producers can append one line at a time without rewriting the whole document.

How is NDJSON different from a JSON array?

A JSON array is a single JSON value: [ {...}, {...} ]. NDJSON is many JSON values, one per line: {...}\n{...}. NDJSON is not valid JSON on its own, and a JSON array is not valid NDJSON on its own. This tool converts NDJSON into a JSON array so you can inspect the whole stream as one document.

Can each line be something other than an object?

Yes. Each line just has to be a valid JSON value. Lines of scalars (1\n2\n3), arrays ([1,2]\n[3,4]), or strings ("a"\n"b") are all valid NDJSON. This tool collects them into a single array.

What happens with blank lines?

They are skipped. This matches the de-facto NDJSON convention used by log shippers like Fluentd and Filebeat, which occasionally emit blank lines between batches.

Is my data uploaded?

No. Every line is parsed in your browser. Nothing is sent to a server.

Related tools