Open and search JSONL files locally

Unquote is a free JSONL viewer for newline-delimited JSON. Open a local file or paste records to browse each line as a tree, search keys and values, and inspect parse errors. File contents are processed in your browser; no account or upload is required.

Open the free viewer

How to open a JSONL file

  1. Open the viewer, then choose a local file, drop it into the import area, or paste text.
  2. Keep format detection on Auto, or choose JSONL when you want to parse line by line.
  3. Select a record to inspect its nested objects, arrays, and stringified JSON.
  4. Search for a key, value, or path. Use the original line to investigate an error.

A failed line does not make the other records unreadable. You can inspect the parse error beside its source line and continue working with the valid records.

JSONL, NDJSON, and a JSON array

JSONL and NDJSON both describe newline-delimited JSON: each nonblank line is a complete JSON value. A log commonly uses one object per line. Do not put commas between those objects or wrap the whole file in array brackets.

Two JSONL records, each on its own line
{"level":"info","message":"started"}
{"level":"error","message":"request failed","status":503}

A JSON array instead uses one outer pair of brackets and commas between its values. Unquote reads both formats, but JSONL keeps the relationship between records and source lines explicit. A newline inside a string must be escaped as \n.

Find a record without losing its source

Search across keys, values, and paths, then select a match to inspect the surrounding structure. If a field contains another JSON document stored as a string, Unquote expands that document too. Source records and original lines remain available for comparison.

For repeated fields, build a record table and export matching rows as CSV. For debugging excerpts, select source lines and redact specified paths before exporting a report. Review the result before sharing it.

Can I view a large JSONL file?

Local JSONL files use incremental reading and background parsing. Large values may first appear as previews, with full records loaded when needed. Browser memory and operation limits still apply; a preview is not a promise that every copy or export will fit in memory. Unquote reports limits instead of silently exporting incomplete data.

Are my JSONL records uploaded?

Pasted text and imported file contents are parsed locally. The website uses Umami for page visits, performance measurements, and selected button clicks. Those measurements do not include your imported records or filenames.