JSON Log Viewer
Parse and view ndjson (Newline Delimited JSON) logs in a readable format.
Read structured logs without squinting at braces
Many modern services write one JSON object per line, known as NDJSON or JSON Lines. It is easy for machines to parse and tiring for people to read. The JSON Log Viewer takes that raw text and lays each entry out as a table row, with the level, timestamp and message in their own columns and everything else collected on the right.
Viewing a log
- Paste your logs into Input Data, with one complete JSON object on each line. Click Sample to load two example entries, or Clear to start over.
- Click Process Now.
- Read the table with the columns Level, Timestamp, Message and Extra.
- Check the two counters, Valid JSON Lines and Invalid Lines, then use Copy or Download if you need the text.
How fields are recognised
Logging libraries name their fields differently, so the viewer looks for common variants. The level is taken from level, lvl or severity and defaults to INFO. The timestamp comes from timestamp, time or date. The message is read from message, msg or log. Any remaining properties, such as a status code or request ID, are shown as compact JSON in the Extra column. Level cells with ERR or FATAL in the name are shaded red, WARN is amber and everything else is blue.
When it helps
- Checking output from a Node.js logger such as Pino or Winston configured for JSON.
- Reading container logs that arrive as structured lines.
- Comparing timestamps and error codes across a handful of entries during debugging.
- Making a sample of structured logs presentable for a report or screenshot.
Things to watch for
Each line must be valid JSON by itself. A pretty-printed object spread over several lines will fail on every line, and those lines are simply counted as invalid and left out of the table, so watch the Invalid Lines number if rows seem to be missing. Plain-text prefixes before the JSON, as in a syslog line, also make a line invalid. Log values other than strings and numbers are rendered as text, and the timestamp is shown exactly as written, not converted to your time zone. The Download button saves the visible table as plain text rather than a JSON file. Parsing takes place in your browser from the text you paste.
Related Tools