Got a log dump, a streaming API capture, or an LLM training file where every line is its own JSON object? View it and convert it to a real array in one click, entirely in your browser.
NDJSON (also called JSON Lines, .jsonl) isn't valid JSON on its own — it's several separate JSON
values stacked with newlines between them, not one document. Paste it into Json Web Viewer and it's detected
automatically: a notice offers Treat as array, which wraps every line into a single JSON
array you can then browse in Tree or Table mode like any other document.
This is a deliberate, visible step — not a silent rewrite. The generic Repair button won't quietly reinterpret your NDJSON as something else; you choose explicitly to convert it.
Example — this NDJSON (three independent lines):
{"level":"info","msg":"server started","port":8080}
{"level":"warn","msg":"slow query","ms":842}
{"level":"error","msg":"connection refused","host":"db-2"}
becomes this array after clicking "Treat as array":
[
{ "level": "info", "msg": "server started", "port": 8080 },
{ "level": "warn", "msg": "slow query", "ms": 842 },
{ "level": "error", "msg": "connection refused", "host": "db-2" }
]
Open this example in the editor →
The link above pre-loads the three-line log example above into Text mode. A notice offering
Treat as array should appear automatically — click it to convert.
A format where each line of a file is its own complete, independent JSON value — common for logs, streaming API responses, and machine-learning datasets, where appending a new record just means adding a new line.
No. Detection and conversion both run entirely in your browser — your file never touches a server.
Yes. Choose NDJSON… from the Save menu's export options to write each array element back out as its own line.
Converting a config file instead of a log dump? See JSON to YAML.