Compare two JSON Lines files — privately, in your browser
To compare two JSON Lines files, drop both into Diffesq: each record becomes a row and you get a three-layer diff — field and type changes, per-field statistics, and key-matched record differences — without uploading either file. Columns are the union of the records' top-level keys, so a file whose records list their keys in a different order still compares cleanly.
.jsonl and .ndjson are the same newline-delimited format and both are recognised. Because everything runs locally, it works on the exports you can't hand to a SaaS diff tool: event streams, model outputs, customer records.
How it works
- Open the Diffesq workbench and drop a
.jsonlor.ndjsonfile on each side. - Diffesq decodes both files on your device, one JSON value per line, and derives a column set from the top-level keys in first-seen order.
- Review the three layers — fields, profile, records — and adjust the key, numeric tolerance, or ignored columns; every change recomputes locally.
What the comparison covers
- Field diff: keys added, removed, retyped, or reordered; types inferred from a value sample.
- Profile diff: record counts, null rates, distinct counts, min/max, mean and standard deviation per field, with changed metrics flagged — computed over every record, even when the row-level diff has to sample.
- Key-matched record diff with composite keys, absolute/relative numeric tolerance, ignore-case, trim, and ignore-column options.
- Ragged records are handled: a key missing from one record reads as null instead of shifting the row. Nested objects and arrays are compared as their JSON text rather than exploded into columns.
- Cross-format comparison against CSV, Parquet, SQLite, and Arrow files.
- Large files degrade in labelled steps: past ~2 million cells the record diff samples; past ~20 million it steps aside while fields and profiles still cover the full file.
Free vs Pro
Structured-file comparisons run in full on your device on the free tier, with about a third of the results shown as a preview; Pro unlocks the complete results and clean, unwatermarked exports (HTML, Markdown, JSON, PDF).
See Pricing for plans — $2.97/month, $27.99/year, or $49 once.
Privacy
Every comparison runs locally in your browser. Your files are never uploaded — there is no server that receives them, and the page keeps working with Wi-Fi turned off. Details in the Privacy Policy.
Frequently asked questions
Is NDJSON the same thing?
Yes. Newline-delimited JSON and JSON Lines are the same format; .jsonl and .ndjson files are both detected, as are the usual NDJSON media types.
What happens if one line is malformed?
The file is refused with the offending line number and a snippet, rather than skipping the record silently — a dropped line would understate the differences and you would never know.
Do I need an account?
No. Comparisons run without any signup. Pro features unlock with a license key — still no account or login.
Does it work offline?
Yes — once the page has loaded, parsing, comparing, and rendering all happen on your device. Turn off Wi-Fi and it still works.