JSONL Viewer
View and inspect JSON Lines data online. Paste or upload a .jsonl file, parse it line by line, search the list on the left to find a record, and read the selected line as a collapsible, syntax-highlighted tree on the right, with unparsable lines flagged.
FreeOnline Tool
Loading…
How to Use
- Paste JSONL content into the box at the top (one standalone JSON object per line), or click "Upload file" to pick a local .jsonl or .txt file
- Click "Parse" and the tool splits the input by line and runs JSON.parse on each one, listing the results on the left
- Each list entry shows a line number and a summary of the content; lines that fail to parse are highlighted in red with a warning icon but stay in the list
- Use the search box above the list to filter it live by raw text content (case-insensitive)
- Click any line to open it in the panel on the right: valid JSON is shown by default as a syntax-highlighted, collapsible tree indented by two spaces, and the "Raw text" button switches back to the original single-line text; a line that failed to parse shows its raw content along with the error message
- In the tree view, click the collapse arrow in front of an object or array, or the key name itself, to collapse or expand everything under that key; a collapsed key is summarized as "key: { N fields }"
- Click "Copy" in the top right to copy the full formatted JSON (or the raw text) for that line; the copy always contains everything, regardless of which parts are currently collapsed
- If you have no data at hand, click "Load sample data" to fill in five sample JSONL lines covering nested objects, arrays, null and one deliberately malformed line, parsed immediately
- Click "Clear" to empty the input and the parsed list and start over
Features
- Accepts pasted text or an uploaded .jsonl, .txt or .json file, and parses everything locally in the browser without sending data to a server
- Each line is parsed independently, so one malformed line does not affect the rest; failing lines are highlighted in red and kept in the list so you can find them
- The list on the left generates a summary for every line (the first four key/value pairs of an object, or the length of an array) so you can scan a lot of data without expanding anything
- The search box filters the list live by raw text content
- The detail panel offers a formatted view and a raw text view; the formatted view is a collapsible tree where clicking an arrow or a key name hides or reveals everything under that field, which helps you focus inside long, deeply nested JSON, with syntax highlighting for strings, numbers, booleans, null and keys
- Copies the complete formatted content of the current line to the clipboard, unaffected by the collapsed state
- A built-in sample button loads a typical data set covering nested structures, arrays, null and an error line
Use Cases
Browsing an LLM training or evaluation dataset
JSONL is the usual format for fine-tuning and evaluation data, so you can paste a slice and read each sample's fields without counting braces by hand.
Finding an anomaly in structured logs
Many structured logs emit one JSON object per line; paste a chunk, search for a key value to locate the record and read its full structure in the formatted view.
Checking a .jsonl file for syntax errors
Generated or exported files sometimes contain a broken line, and uploading the file highlights every unparsable line in red instead of you scanning them by eye.
Debugging bulk API imports and exports
Bulk data exchanged with third-party systems often arrives as JSONL, so you can review record by record that the fields look right before writing them downstream.
FAQ
How large a JSONL file can it handle?
Parsing runs locally in your browser and there is no hard line limit, but larger files use more memory. Keeping a single import to a few thousand lines keeps things responsive, and very large files are best split up first.
Does one malformed line break the rest?
No. Every line is parsed independently with JSON.parse. A failing line is highlighted in red with a warning icon and shows its raw content and the specific error when selected, while all other lines display normally.
Is my data uploaded to a server?
No. Everything you paste or upload is parsed and displayed locally in the browser and never sent anywhere, so it is safe to inspect data containing sensitive information.
How do I collapse a field, and does that affect copying?
In the formatted view, click the collapse arrow in front of an object or array, or the key name, to hide everything under that key, and click again to expand it. Only object and array values can be collapsed. Collapsing changes the display only; copying always returns the complete content.