JSONParse Open the viewer

Guides

Open JSONL, NDJSON and concatenated JSON streams

Log pipelines and bulk exports emit one JSON value per line rather than one array. A strict parser rejects the whole file at the start of the second record. JSONParse detects the format and indexes every record.

The format

{"ts":"2026-09-14T08:14:02Z","level":"info","msg":"request","ms":12}
{"ts":"2026-09-14T08:14:02Z","level":"warn","msg":"retry","attempt":2}
{"ts":"2026-09-14T08:14:03Z","level":"error","msg":"upstream timeout"}

That is three documents, not one. It is what you get from structured application logs, from BigQuery and Snowflake exports, from kubectl logs with a JSON encoder, from Elasticsearch bulk files and from most model APIs streaming results.

How detection works

Parse mode defaults to auto: a strict single-document parse is attempted first, and if it fails at a point consistent with a second value beginning, the file is re-read as a stream of concatenated values. Whitespace between records, including no newline at all, is handled. You can force the behaviour by setting parse mode to json or ndjson in settings when a file is ambiguous.

Records are presented as the roots of one browsable document, so searching, expanding and generating run across the whole file rather than one line at a time. The status bar marks a multi-root document as NDJSON.

Why this is the right input for schema work

A single record shows one shape. A thousand records show which keys are actually optional, which strings are really enums and which fields the upstream service only populates sometimes. Generating a JSON Schema or TypeScript types from an NDJSON capture gives a far more honest result than generating from one example.

Open the viewerNo sign-up, no upload, no file size dialog.

Frequently asked questions

What is the difference between JSONL and NDJSON?

Nothing that matters in practice. Both mean one JSON value per line. NDJSON has a short specification requiring newline separation and UTF-8; JSONL is the same convention under a different name. JSONParse treats them identically and also accepts values concatenated without newlines.

Can it open a file where some lines are malformed?

Parsing stops at the first malformed record and reports its line and column, the same as any other syntax error. This is deliberate: silently skipping lines in a log file hides the truncated write that caused the problem.

Does search work across all records?

Yes. The whole file is indexed as one document with multiple roots, so a search covers every record and matches are navigated in file order.

Last updated .