JSON Diff Compare

JSON Diff Compare takes two JSON documents and shows you exactly how they differ

Updated
Loading toolโ€ฆ

JSON Diff Compare takes two JSON documents and shows you exactly how they differ

How to use JSON Diff Compare

  1. Paste your original JSON into the Original (A) box.
  2. Paste the updated JSON into the Changed (B) box.
  3. Read the Added, Removed, and Changed differences listed by path, then Copy diff if you need it.
Try next โ†’Color Contrast Checker (WCAG)This color contrast checker measures the WCAG 2.x contrast ratio between a foreg

About JSON Diff Compare

JSON Diff Compare takes two JSON documents and shows you exactly how they differ. It parses each side, then walks every object key and array index recursively, reporting each difference as added, removed, or changed along with its full path (like dimensions.w or tags[2]). Because it compares parsed values rather than raw text, key order and whitespace are ignored, so you only see real differences, not formatting noise.

The tool works entirely in your browser using the standard JSON parser and a recursive comparison. Nothing you paste is uploaded or stored anywhere. If either side is not valid JSON, it tells you which one and shows the parse error so you can fix it.

A couple of limits worth knowing: arrays are compared position by position (index 0 to index 0, and so on), so an item inserted at the start of a list will show as a series of changes rather than a single move. Very large documents are compared in one pass in memory, which is fine for typical config files, API responses, and payloads.

Frequently asked questions

How does it decide what counts as a difference?
It parses both sides into JSON values and compares them structurally, not as text. It recurses through every object key and array index. A key present on only one side is Added or Removed; a key on both sides with a different value (or a different type) is Changed. Identical values in a different key order produce no differences.
Is my data private?
Yes. Everything runs locally in your browser using the built-in JSON parser. Your JSON is never uploaded, sent to a server, or stored. You can even use it offline once the page has loaded.
Why does reordering array items show so many changes?
Arrays are compared by position, so index 0 is compared to index 0, index 1 to index 1, and so on. Inserting or moving an item shifts everything after it, which shows up as several changed and added or removed entries rather than a single move.
What happens if my JSON is invalid?
The tool tells you which side (Original A or Changed B) failed and shows the parser's error message, so you can locate the problem. Comparison resumes automatically once both sides are valid JSON.
Does key order or formatting affect the result?
No. Because it compares parsed values, differences in key order, indentation, and whitespace are ignored. Only actual value or structural differences are reported.
Can I copy or reuse the diff?
Yes. Use Copy diff to grab a plain-text summary where each line is prefixed with +, -, or ~ and shows the path and value, which is easy to paste into a pull request, ticket, or chat.