DevToolsLab

JSON Diff

Compare · Highlight changes

Paste two JSON documents to compare them side-by-side. Differences are highlighted at the line level.

+4 added · -3 removed · =5 unchanged
OriginalValid
ModifiedValid

Both inputs are processed entirely in your browser — nothing is uploaded.

What is JSON Diff?

A JSON diff tool compares two JSON documents and highlights what changed between them: which properties were added, which were removed, and which values changed. DevFormatLab's JSON Diff is line-based, sorts object keys before comparing (so reordered properties are not flagged as differences), and runs entirely inside your browser. It's especially useful for inspecting API response changes, configuration drift, or feature-flag rollouts.

Features

  • Side-by-side comparison with red / green line highlighting
  • Optional key sorting (so reordered keys aren't shown as diffs)
  • Added / removed / unchanged line counts at a glance
  • Strict JSON validation on both sides with separate error messages
  • Swap left and right with one click
  • 100% browser-based — no JSON ever leaves your device

How to use

  1. Paste your original JSON into the left input panel.
  2. Paste the modified JSON into the right input panel.
  3. Keep "Sort keys" enabled (default) to ignore property order.
  4. Read the colored side-by-side diff: red lines = removed, green lines = added.
  5. Use Swap to invert the comparison direction.

Frequently Asked Questions

Is my JSON sent to any server?

No. Both sides are parsed and compared entirely in your browser. Nothing is uploaded.

Why doesn't reordering keys show as a diff by default?

JSON object keys are unordered by spec, so DevFormatLab sorts them before stringifying for comparison. You can disable this if key order matters in your use case.

How does the diff handle nested objects and arrays?

Both sides are pretty-printed with 2-space indentation, then compared line by line using the LCS algorithm. Nested structures appear over multiple lines so changes inside them are clearly localized.

What's the size limit?

Comparison is O(n*m) on lines, so very large JSON (>5,000 lines per side) may take a moment. For most API payloads and configs it's instant.

Are array element reorderings detected as changes?

Yes. Arrays are ordered in JSON, so reordering counts as a change. If you need order-insensitive array diff, sort the arrays in your data first.

Related tools

Canonical: https://devformatlab.com/en/json-diff