Language
English

JSON Diff

Structural and line-by-line JSON comparison

Original JSON
Target JSON
0 changes

togotools.top technical reference

Technical reference

Compare two JSON inputs locally in your browser. Lists added, removed, and modified fields by structured path, with an optional line-by-line text diff view.

Comparison modes

  • Structural mode: lists each difference by JSON path (e.g. a.b[0]) with type (added/removed/modified).
  • Text mode: shows line-by-line differences similar to git diff.
  • Deep recursive comparison of objects and arrays; key order does not matter.
  • Comparison runs entirely in the browser. No input is uploaded.

Example: field modification

Structural mode locates differences by path and is unaffected by formatting. Text mode is sensitive to indentation, so format both sides first for best results.

json diff
Left:  {"id":1,"name":"Ada","role":"admin"}
Right: {"id":1,"name":"Ada","role":"editor","active":true}

Diff:
  role:   admin    -> editor
  active: (added)  -> true

Limits

  • Number precision: JavaScript uses IEEE 754 double-precision; very large integers may lose precision.
  • Same value but different type (e.g. 1 and "1") is treated as a difference.
  • Array order matters: elements with the same values but different positions are flagged as differences.

Frequently asked questions

Can I ignore certain fields in the comparison?

The current version does not support path-based ignore rules. You can remove unwanted keys in a text editor before pasting them in.

Why do reordered arrays show many differences?

Comparison is positional. It does not support unordered array matching. If order is irrelevant, sort the arrays before comparing.