JSON Lines / NDJSON Log Viewer
Paste NDJSON or mixed logs with embedded JSON — each line is parsed, filtered, and normalized, with a level breakdown, time range, and error clusters. Runs in your browser.
Auto-parses as you type. Ctrl+Enter to re-run.
How to use the JSON Lines / NDJSON Log Viewer
Inspect JSON Lines (JSONL), NDJSON, and mixed plain-text logs that contain embedded JSON objects. The viewer parses each line as a separate event, lets you filter by level, message, request ID, or any field, and exports normalized output as a JSON array or message-only text. Designed for engineers and SREs debugging structured logs from Pino, Bunyan, Winston, Logback, Loki, CloudWatch, or any service that emits one JSON object per line — all locally.
What it does
- Parses one JSON object per line (JSONL / NDJSON / LDJSON).
- Handles mixed text logs where each line contains a JSON object somewhere inside.
- Filters by level, message text, request ID, or any custom field.
- Skips invalid lines without breaking the rest of the parse.
- Normalizes output: full event JSON array, message-only text, or compact NDJSON.
- Surfaces a level breakdown, timestamp range, and error/warning message clusters.
When to use it
- Triage a copied block of structured logs without uploading to a log service.
- Filter NDJSON exports from Loki, CloudWatch Logs Insights, or Elasticsearch.
- Inspect Pino, Bunyan, Winston, or Logback JSON output.
- Pull all entries for a single
requestIdortraceId. - Build a sanitized sample to attach to a bug report.
- Convert NDJSON into a JSON array, then to CSV with the JSON to CSV tool for analysis.
How to use it
- Paste log lines into the editor (or load a
.log/.jsonl/.ndjsonfile). - Parsing runs automatically — valid JSON entries are normalized; invalid lines are skipped with a count.
- Filter by message substring or any field text using the search box.
- Check the Analysis tab for the level breakdown, time range, and error/warning clusters.
- Export the filtered set as a JSON array, message-only text, or compact NDJSON. Redact sensitive fields before sharing.
Tips & pitfalls
- If parsing fails on most lines, check that the file is actually NDJSON, not a single JSON array.
- Some log shippers prepend a timestamp / hostname before the JSON object — the viewer extracts the JSON anyway.
- For very large log files, paste a representative window — multi-GB files belong in a real log store.
- Redact PII and secrets before sharing the export — use the PII Detector or Secrets Scanner first.
- Similar messages are grouped into clusters by normalizing volatile tokens (numbers, UUIDs, hashes) — great for spotting the top error.
FAQ
- What is JSON Lines (JSONL)? A text format where each line is a valid JSON value (typically an object). Also called NDJSON or LDJSON. Common for streaming logs and ML datasets.
- How is JSONL different from a JSON array? JSONL has one object per line, no surrounding
[], no commas between objects. It is appendable and streamable. - Can I parse logs that mix plain text and JSON? Yes — the viewer extracts the JSON object from each line and treats the surrounding text as metadata.
- Are my logs uploaded? No. All parsing and filtering happen in your browser.
- How do I follow a single request through the logs? Search for the
requestId,traceId, orcorrelationIdvalue. - Can I export filtered logs? Yes — as a JSON array, message-only text, or compact NDJSON.
Related tools
- Format and validate JSON to pretty-print a single log entry you copied out of the viewer.
- Test JSONPath expressions to extract a specific field from the parsed events.
- Convert JSON to CSV to turn the normalized array into a spreadsheet for analysis.
- Detect and redact PII before attaching a log sample to a ticket.
- Scan for secrets to catch tokens or keys leaked in log lines.
Runs locally in your browser. No uploads. Redact secrets and PII before sharing log samples.