Paste two JSON documents — two API responses, two config versions, before/after a deploy — and see exactly what changed. Not a text diff: a semantic diff that understands JSON structure, entirely in your browser.
Most "JSON diff" tools online are really just text/line diffs wearing a JSON-colored theme: they compare characters, so reformatting a file or reordering an object's keys produces a diff full of noise even though nothing about the data actually changed. Json Web Viewer's Compare mode diffs the parsed data instead — object keys are matched by name regardless of order, and arrays are aligned so a single inserted element shows up as one addition instead of "changing" every element after it.
Once Compare is on, use the Prev/Next controls to step
through every difference, or click Copy as JSON Patch to get the same differences as an
RFC 6902 JSON Patch document — the format Kubernetes'
Kustomize expects for a patchesJson6902 entry, or that kubectl patch --type=json
applies directly.
Example — left document:
{
"total": 2,
"users": [
{ "id": 1, "name": "Ada Lovelace", "role": "engineer" },
{ "id": 2, "name": "Grace Hopper", "role": "admiral" }
]
}
right document:
{
"users": [
{ "name": "Ada Lovelace", "id": 1, "role": "engineer" },
{ "id": 2, "name": "Grace Hopper", "role": "rear admiral" },
{ "id": 3, "name": "Alan Turing", "role": "mathematician" }
],
"total": 3,
"page": 1
}
A semantic diff flags exactly three real changes here: user 2's role changed, user 3 was
added (one addition, not a cascade of "every later element moved"), and the top-level total
changed with a new page key added. User 1's fields being reordered (name/id
swapped) produces no difference at all — a text diff would flag that line as changed for no
real reason.
Open this example in Compare mode →
The link above loads the two documents above, one per panel, with Compare already on — you
land straight on the highlighted diff.
A line diff (like a code diff viewer) compares raw text line by line, so reordering an object's keys or reformatting the file shows up as a wall of changes even though the data is identical. This tool's default compare mode diffs the parsed data instead: object keys are compared by name, not position, and arrays are aligned so an insertion reads as one addition rather than shifting every later element into "changed". A text-mode line diff is also available for when you specifically want to compare raw formatting.
patchesJson6902 patch from a diff?
Yes. Once Compare is on and both documents are valid JSON, the Copy as JSON Patch button
produces an RFC 6902 JSON Patch document describing exactly the differences shown — paste it directly into
a Kustomize patchesJson6902 entry or apply it with kubectl patch --type=json.
No. The diff, like every other mode in Json Web Viewer, runs entirely in your browser. Neither document is sent to a server, including when you use Share to generate a link — the link encodes the documents themselves, compressed, in the URL.