Object changes are tracked by key path
Keys that exist on only one side become added or removed. Shared keys are compared recursively when their value types allow it.
Free browser tool
Compare two JSON values and list added, removed, and changed paths.
Compare JSON A and JSON B and list added, removed and changed paths. It is useful for API responses, configuration files and saved data when you need to see where the structure changed.
{"name":"A","count":1} compared with {"name":"B","count":1,"active":true} marks $.name as changed and $.active as added.Arrays are compared by index, not by detecting moved objects. Inserting one item near the beginning of an array can make many later positions appear changed.
Keys that exist on only one side become added or removed. Shared keys are compared recursively when their value types allow it.
String→number or object→array is reported as a change at that path instead of pretending the two structures are directly comparable.
This is not an LCS or ID-aware move detector. Reordering or inserting elements can produce a large diff even when the same objects are still present.
Comments, trailing commas and JavaScript object syntax are not accepted as standard JSON. Clean the source first when necessary.
It can be archived or processed by another script, but it is not an RFC JSON Patch document that can automatically be applied elsewhere.