How it works
Paste your "before" and "after" JSON
Two documents, side by side.
Review the structural diff
Added, removed, and changed keys are highlighted directly in two synced tree views.
Switch to raw text diff if needed
Toggle to a line-level view of the pretty-printed JSON when you want text-level detail.
JSON Diff Checker compares two JSON documents structurally rather than as plain text — it parses both into actual data and compares the data itself, so two documents that are semantically identical but differ in key order or whitespace show zero diff, something a line-based text diff can't express. Added keys, removed keys, and changed values are highlighted directly in two synchronized, collapsible tree views.
A "raw text diff" toggle falls back to a line-level view of the pretty-printed JSON for anyone who wants text-level detail instead of the structural tree. Everything runs locally in your browser — parsing and comparison never leave the page.
This distinction between structural and textual comparison matters more than it might seem. An API response re-serialized with keys in a different order, or with different indentation, is functionally identical data — but a plain text diff (the kind used by Diff Checker, this site's general-purpose text-comparison tool) has no way to know that; it only sees different characters on different lines and reports the entire document as changed. Structural comparison instead walks both parsed documents in parallel, matching up corresponding keys and array elements regardless of their position or formatting in the source text, and only reports a difference where the underlying values actually diverge.
This makes it genuinely useful for comparing two versions of an API response, a configuration file that's been reformatted by a different tool, or a "before" and "after" snapshot of application state during debugging — cases where you specifically care about what data changed, not how the file happens to be formatted on disk.
If you're validating that a document matches an expected shape rather than comparing two specific documents against each other, the JSON Formatter / Corrector's schema validation feature is the better fit — this tool answers "what's different between these two documents," while schema validation answers "does this one document follow the rules."