Loading…
Compare two JSON documents and highlight added, removed, and changed keys with line-level diff. Use when comparing API responses or configs; for single-document formatting use json-formatter, for validation errors use json-validator. Input: two JSON texts ≤10MB. Returns highlighted diff. 100% client-side.
JSON Diff Checker is loading — interactive editor will appear here. Use examples below to try instantly once loaded.
Press ? for keyboard shortcuts
Compares two JSON documents side by side with three view modes: side-by-side, unified, and tree view. Supports value-only diff to ignore structural changes, detects array element moves, and shows a 5-stat summary (added, removed, changed, moved, unchanged). Includes a merge mode for combining changes and supports drag-and-drop upload of JSON files. Can copy the result as a JSON Patch (RFC 6902).
Tracking JSON changes across API versions, configuration iterations, or data migrations is essential but difficult to do manually. This tool provides multiple visualization modes and a statistical summary so you can understand exactly what changed at a glance.
This tool is part of the DevStackIO platform — a collection of free online developer tools from DevStackIO. Browse more free developer resources on DevStackIO.
Backend developers tracking API response changes, DevOps engineers comparing config files, and data engineers validating ETL pipeline output.
Paste or drag-drop JSON file A (original) and JSON file B (modified) into the respective areas
Select view mode: Side-by-side (left/right), Unified (inline with +/-), or Tree (hierarchical)
Toggle value-only diff to see only value changes, ignoring key additions or removals
Review the 5-stat summary showing counts of added, removed, changed, moved, and unchanged nodes
Enable merge mode to selectively apply changes from B to A with manual confirmation
Click Copy JSON Patch to get an RFC 6902 patch document for automated application
Input A: '{"name":"John","age":30}', Input B: '{"name":"Jane","age":31}'. Output: name changed (John→Jane), age changed (30→31), 0 added, 0 removed, 0 moved.Input A: '[1,2,3]', Input B: '[3,1,2]' with move detection. Output: '3 moved from index 2 to index 0', resulting in 1 move detected.What does the 5-stat summary show?
Added keys, removed keys, changed values, moved array items, and unchanged nodes.
Can I diff JSON from two different files?
Yes, drag-and-drop files A and B into their respective upload areas.
What is JSON Patch (RFC 6902)?
A standard format describing changes as an array of operations: add, remove, replace, move, copy.
Does it handle large files?
Files up to ~10MB are handled well; larger files may need server-side processing.
Authoritative specifications, standards, and in-depth reading for JSON Diff Checker.
Drop a .json file here
Drop a .json file here
Free online JSON formatter and validator with syntax highlighting and error line numbers. Use as default for beautify+validate+minify in one place; for two-file comparison use json-diff, for schema generation use json-schema-generator. Input: JSON ≤10MB. Returns formatted JSON or line-numbered error. 100% private.
Validate JSON syntax and report errors with line numbers without reformatting. Use when only correctness matters; for auto-fix and formatting use json-formatter. Input: JSON text ≤10MB. Returns valid/invalid + error location. 100% client-side.
Compress JSON by stripping whitespace for smallest payload. Use when preparing production payloads; for readable output use json-formatter or json-beautifier. Input: JSON text ≤10MB. Returns minified JSON or line-numbered error. 100% client-side.
Escape or unescape JSON strings. Use when embedding JSON; for formatting use json-formatter. Input: JSON ≤10MB. Returns escaped string. 100% client-side, files never leave browser.
Format and validate HTML with indentation and error reporting. Use as default HTML tool; for minifying production HTML use html-minifier, for converting HTML to Markdown use html-to-markdown. Input: HTML ≤10MB. Returns formatted HTML or validation errors. 100% client-side.
Format or minify CSS with indentation control. Use as default CSS tool handling both directions; css-minifier URL is a noindex alias. Input: CSS ≤10MB. Returns formatted or minified CSS. 100% client-side.
Minify JS for production or beautify minified JS for debugging. Use for JS only; for JSON use json-formatter, for CSS use css-formatter. Input: JS text ≤10MB. Returns minified or beautified JS or syntax error. 100% client-side.
Free online SQL formatter with indentation and keyword casing. Format queries privately in browser.