MyJSON
Inspection

Diff (Side-by-side / Structured / Patch)

Three views of the same comparison.

Diff tab. Older doc on the left; current editor in the middle; diff visualization on the right.

Side-by-side

A read-only Monaco diff. Line-level granularity, with the right-pane being your live editor reformatted. Good for visual scanning.

Structured

A list of every added / removed / modified path with before-after values. Powered by an LCS (longest-common-subsequence) array diff — prepending one element marks just that element as `added`, not every subsequent index as `modified`. For arrays of objects, identity keys (`id`/`uuid`/`key`/`_id`/`name`) drive the alignment when present.

JSON Patch (RFC 6902)

Emits a list of `add` / `remove` / `replace` operations with proper JSON Pointer paths. Copy this and use it directly with `PATCH /resource` calls.

Semantic toggles

Three toggles at the top: `Ignore key order` (sort keys before diffing), `Ignore string whitespace` (collapse internal whitespace), `Arrays as sets` (treat arrays as unordered multisets). All combine.

Examples

Diff two Stripe webhooks

You suspect a webhook payload changed shape between API versions.

  1. Paste old payload in the older pane (left).
  2. Paste new payload in the editor (middle).
  3. Open Structured view — every changed path lists with before/after.
  4. Click any row to jump to it in side-by-side.

Generate a JSON Patch for an API call

Your backend supports PATCH /users/:id with RFC 6902 ops.

  1. Put the existing user state in the older pane.
  2. Edit the editor to reflect the desired state.
  3. Switch the diff to Patch mode — copy the operations array.
  4. Send it as the request body.