How to use Streaming NDJSON Validator
- Choose the NDJSON or JSON Lines file. It is read in chunks in your browser.
- Leave Every line must hold an object off for a general check, or turn it on for a strict record file.
- Decide whether an empty line is skipped or reported.
- Press Validate NDJSON and read the problem table, which lists the physical line number of each fault.
Example: Streaming NDJSON Validator
Find the one broken record in a four-line file.
Options
- Every line must hold an object
- Off by default, because JSON Lines only requires each line to be valid JSON. Switch it on when the consumer of the file expects one object per line, and a bare number, a string, null or an array is then reported.
- Empty lines
- Blank physical lines are skipped by default. Choose Report them if blank records would break the system that reads your file. A final newline ends the last record and does not create an extra blank record.
- Lines to check
- Reading stops at the number you set, so a very large file can be sampled. The default is 1,000,000 lines and the ceiling is 5,000,000.
Supported inputs and limits
Where your input is processed
This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.
Why streaming changes what the page can promise
The file is read in chunks and each complete line is checked separately. The page keeps only a bounded unfinished line and the first 100 problem details, while counting all problems. Oversized lines are reported and discarded until the next newline. You receive the report after the run finishes or reaches its configured limit.
Questions about Streaming NDJSON Validator
What is the difference between NDJSON and JSON Lines?
Both use one JSON value per physical line. This page checks that shared structure and accepts a final record with or without a closing newline. It can also require objects or report blank lines when your reader needs stricter records.
Why is the reported line number higher than I expected?
The number counts every physical line from the first one, including blank lines and lines that hold invalid data. That is the number an editor shows next to the text.
What happens to a file with one enormous line?
The buffer stops at the per-line cap, the line is reported as too long, and the rest of that line is thrown away as it arrives so the page does not run out of memory.
Can I check only the first part of a large file?
Set Lines to check to a smaller number. Reading stops at that line, the report says so, and every line that was read has still been checked.