Tool Kumar tool
JSONL viewer
Open or paste JSON Lines, also called NDJSON, to inspect one record per line. Tool Kumar lists the records so you can expand them in the tree, sort them in the table or search them, and the file stays on your device.
How to use this tool
- Open a .jsonl or .ndjson file, or paste the lines into the input pane.
- Check the status bar: it reads JSON Lines with the number of records.
- Expand records in the Tree, switch to Table for one row per record, or press Ctrl+F (⌘F on a Mac) to search keys and values.
Worked example
Each line is one record. The viewer reads these three lines as a list of three records, shown here as the JSON array that the tree and table display.
Input · events.jsonl
{"ts":"2026-10-14T09:00:00Z","level":"info","user":{"id":7,"name":"Ada"},"msg":"signed in"}
{"ts":"2026-10-14T09:00:04Z","level":"warn","user":{"id":7,"name":"Ada"},"msg":"slow query","ms":812}
{"ts":"2026-10-14T09:00:09Z","level":"error","user":{"id":9,"name":"Lin"},"msg":"payment declined","code":"card_declined"}
Output
[
{
"ts": "2026-10-14T09:00:00Z",
"level": "info",
"user": {
"id": 7,
"name": "Ada"
},
"msg": "signed in"
},
{
"ts": "2026-10-14T09:00:04Z",
"level": "warn",
"user": {
"id": 7,
"name": "Ada"
},
"msg": "slow query",
"ms": 812
},
{
"ts": "2026-10-14T09:00:09Z",
"level": "error",
"user": {
"id": 9,
"name": "Lin"
},
"msg": "payment declined",
"code": "card_declined"
}
]What JSON Lines is
JSON Lines puts one JSON value on each line, usually one object per record. Logs, analytics exports and machine-learning datasets use it because a program can append or read a single line without loading a whole array.
A strict JSON parser rejects such a file because it holds several top-level values. Tool Kumar recognizes the one-record-per-line layout and lists the records instead of reporting an error.
Options and edge cases
- Each line holds one complete JSON value. Blank lines are skipped.
- Records split across several lines, or separated by commas, still open, but the status bar reports them as loose JSON with an issue to review rather than as JSON Lines.
- An opened .jsonl or .ndjson file with a single record is still read as a list of one record.
- A record that cannot be read stops parsing, and the status bar shows its line and column.
- Above 2,000,000 characters or 30,000 lines the input becomes read-only so the views stay fast. Edit anyway turns editing back on.
Private by default
Your document stays in this browser. Tool Kumar parses, converts and creates downloads on your device, with no account or upload step.
JSONL viewer questions
- How do I open an NDJSON file?
- Choose Open file from the input menu (Ctrl+O, or ⌘O on a Mac) and pick the .ndjson or .jsonl file, or drag it onto the page. The file is read in your browser and is not uploaded.
- Why use JSONL instead of a JSON array?
- Each line is a complete record, so a producer can append records and a consumer can stream or split the file line by line. A JSON array is only valid once its closing bracket arrives.
- Is JSONL the same as NDJSON?
- In practice, yes. Both names describe newline-delimited JSON values, and Tool Kumar reads .jsonl and .ndjson files the same way.
- Can I turn the records into a JSON array or CSV?
- Yes. The Format view shows the records as one JSON array you can copy or download, and the JSONL to CSV page turns them into spreadsheet columns.