Validate or convert JSONL
One JSON object per line is great until line 4,317 is broken — find every bad line at once.
Tools used in this guide
The job
JSON Lines is the format of logs and datasets: each line a complete JSON value. Most parsers die on the first bad line and tell you nothing about the rest — validation here lists every failure.
Three modes
Validate reports each broken line with its parse error; JSONL→JSON wraps the lines into an array; JSON→JSONL unwraps an array to lines.
Worked example
Six lines where line 3 is {"a": 1,} reports 'line 3: unexpected token' while still parsing lines 1,2,4,5,6 — you fix one line instead of bisecting a file.
Where it stops
100,000 lines / 2 MB of input. Each line must be complete JSON — pretty-printed multi-line objects belong in JSON, not JSONL.