Unsupported input
The tool may reject input that does not match the expected content, structure, or file type.
Fix: Confirm the tool input requirements and paste the correct type of data.
Search tools and pages.
Compare two JSON documents with a structure-aware diff tree, ignore-order options, and JSON Patch (RFC 6902) plus jsondiffpatch delta export
sidebar • 160x600
Written by Giorgos Kostas. Last reviewed:
JSON Diff Visualizer compares two JSON documents semantically — added, removed, changed, type-changed, and moved keys/items each get their own colour and badge in a hierarchical tree, instead of a line-by-line text diff.
Toggle 'ignore key order' to treat `{a:1,b:2}` and `{b:2,a:1}` as identical, or 'ignore array order' to detect that an item only moved (not changed). The right-hand panel exports the patch as RFC 6902 JSON Patch or as a jsondiffpatch delta.
Start with the jSON Diff Visualizer input you want to process in JSON Diff Visualizer.
Get a jSON Diff Visualizer result from JSON Diff Visualizer that is ready to review, copy, and reuse in the next step of your workflow.
The tool may reject input that does not match the expected content, structure, or file type.
Fix: Confirm the tool input requirements and paste the correct type of data.
Missing fields or partial content can block processing or produce weak results.
Fix: Provide the full required input before running the tool.
Sample or placeholder values can lead to output that looks valid but is not ready for real use.
Fix: Replace placeholders with your actual values before relying on the result.
Diff Checker is a line-by-line text diff (Myers / Patience) — fine for code, but it produces noisy output for JSON because reformatted whitespace and reordered keys all show as changes. JSON Diff Visualizer parses both sides and walks the resulting object tree, so the diff is on the data itself: a moved key inside an object is a 0-cost change, not five removed lines plus five added lines.
Each array item is hashed by its `id`, `_id`, `uuid`, `key`, or `name` field if present, otherwise by primitive value. Items with the same hash are matched even if their indices differ — and the result includes a 'moved' edge that records the new index. Without this toggle, JSON Diff falls back to positional comparison.
Yes. The 'JSON Patch' tab outputs a strict RFC 6902 array of operations (`add`, `remove`, `replace`, `move`). You can paste that into any RFC 6902 implementation — `fast-json-patch`, `rfc6902`, JSON Patch in `jsonpatch-py`, or as an HTTP `PATCH` body.
Comfortably up to a few MB per side. Both editors are Monaco with virtualization. The diff itself is O(n) over the data plus O(n log n) for array hashing; tens of thousands of nodes are usually fine, but pathological inputs (deeply nested + many moves) get slower.
No. Parsing, diffing, and patch generation all happen in the browser — there is no server round-trip. The same applies to file uploads; the file is read with `FileReader` and never leaves your device.
Unchanged nodes are hidden by default unless they're an ancestor of a change. Toggle 'Unchanged' in the toolbar to expose every key — useful when you want to view the structure of both documents side-by-side, not just the deltas.
Pair the visualizer with related JSON utilities. You can also browse the full Visual & Testing Tools category for more options.
Format, validate, and beautify JSON online with readable indentation, syntax checking, and copy-ready output for APIs, logs, and config files.
Validate JSON syntax and catch parse errors instantly. Paste JSON and get immediate feedback on structural issues, missing commas, and unquoted keys.
View and explore JSON data
Explore any JSON document as an interactive node-link graph with collapsible nodes, $ref/href detection, and PNG plus DOT export
Test JSONPath expressions against JSON data
Compare two texts and highlight differences
Convert YAML to JSON format
Convert XML to JSON format
Visualize SQL CREATE TABLE or DBML as an ERD with table cards, primary-key badges, foreign-key arrows, and per-table detail panels
Paste, upload, or fetch an OpenAPI spec and render readable, navigable API documentation with copy-as-curl per operation
View and preview HTML
Test internet ping, download speed, and upload speed in your browser with a live gauge, connection details, and same-origin Mbps measurements.
Compare two JSON documents structurally. The tree highlights what was added, removed, changed, type-changed, or moved — click any row to jump to that range in the editors above. Order-independent comparison and a JSON Patch / jsondiffpatch export are available below the tree.
content bottom • up to 300x250