JSON Compare & Diff
FAQ
Enter a comma-separated list such as updatedAt, meta.traceId. A name like updatedAt ignores that field anywhere it appears, while a dotted path like meta.traceId targets that specific nested path. Array indexes are ignored when matching paths, so the same rule applies across array items too.
That toggle only affects three empty-like cases: an empty object ({}), null, and a missing field. When both sides normalize to one of those values for the same path, the tool treats them as equal so they do not show up as a difference. It does not make empty strings or zero equal.
Changed scalar values, added or removed keys, and array item differences all count. Object keys are normalized in sorted order before display, so object key order by itself does not create noise, but array order is preserved — reordering array elements will still show as a change.
It pretty-prints the left and right JSON you entered and builds normalized comparison copies for the diff view. Labels, ignored fields, and the empty-value rule affect what is shown in the comparison, but the tool is not trying to mutate or save your source documents anywhere.
The share button stores the current comparison state — including both JSON documents, labels, ignored fields, and toggle settings — inside the URL hash using client-side compression. Because that state lives in the fragment (#...), it is meant to be shared by copying the URL rather than uploaded to a backend by this tool.