JSON Diff Online — Compare Two JSON Files, Deep Compare & Visual Diff (Monaco)
Free online JSON diff and JSON compare tool. Paste original and modified JSON, see added/removed/changed paths with semantic deep compare, Monaco DiffEditor, Report/Side/Unified views, export JSON/CSV/TXT, save/share links — ignores object key order, runs entirely client-side with no upload.
Compare two JSON documents online — deep semantic diff, Monaco editor, three tree views
Spoold's JSON Diff parses Original and Modified JSON entirely in your browser. Walk added, removed, and changed paths in Report, Side, or Unified views, refine with the Monaco DiffEditor, then export JSON, CSV, or TXT or save/share a link. Nothing is uploaded — your payloads never leave the tab.
Why compare JSON online?
APIs, feature flags, and infrastructure configs are increasingly expressed as JSON. When two versions drift, a line-oriented text diff is noisy: minified blobs, reordered keys, and escaped strings obscure what actually changed. A semantic JSON diff answers "what meaning changed?" — same path, different value; new keys; missing keys — without treating cosmetic formatting as a difference.
🔌 API contract drift
Paste two API responses or OpenAPI-derived examples to spot breaking field changes before clients ship.
⚙️ Config & env parity
Diff staging vs production JSON exports to catch a single nested flag that explains divergent behavior.
👀 Review & audits
Attach an exported JSON/CSV report to tickets when fixtures, snapshots, or golden files change.
🐛 Debug snapshots
When two traces look identical at a glance, a path-level diff surfaces the one nested value that moved.
Change types & views
Report view lists flat paths with counts; Side view shows two aligned trees; Unified merges changes into one navigable tree. The Monaco DiffEditor keeps classic red/green line diffs for the raw JSON. Export captures the semantic summary as JSON, CSV, or plain text for sharing outside the browser.
How to use JSON Diff — step by step
Open the tool
Go to JSON Diff. Optionally load a sample to explore views before pasting your own documents.
Paste Original JSON
Put the baseline — old API response, previous config export, or “before” snapshot — in the original pane. Validation runs locally.
Paste Modified JSON
Add the new version in the modified pane. Monaco keeps scrolling aligned so you can skim both texts.
Pick Report, Side, or Unified
Switch views to match your task: flat paths for audits, dual trees for structural comparison, unified tree for density.
Refine with Monaco DiffEditor
Use the Monaco diff surface when you need character- or line-level context around a reported path.
Export, save, or share
Download JSON/CSV/TXT reports, save named sessions, or copy a share link — all processing stays client-side.
How deep JSON diff works
Spoold compares parsed JSON values, not raw bytes. Here is what that means in practice.
≡Semantic compare
The differ walks objects and arrays recursively, pairing keys by name and array indices by position. Results are labeled added, removed, or changed at stable dot/bracket paths — so you review meaning, not whitespace or pretty-print layout.
⇅Object key order
JSON objects are unordered maps. The tool ignores object key order when comparing — reordering { "b": 1, "a": 2 } does not surface as churn if values match. That keeps diffs focused on real configuration or payload changes.
[]Arrays
Arrays are compared in order: index 0 pairs with index 0, and so on. Insertions, removals, and edits shift downstream indices — expect those to appear as structural changes rather than silent moves.
◫View modes
Report emphasizes scan-friendly paths and counts. Side preserves left/right context. Unified collapses into one tree for dense reviews. Pair any mode with the Monaco surface when you need raw text fidelity.
Example: API user object
Two versions of the same user record — note the role change and the new boolean flag:
{
"id": 42,
"name": "Ada",
"role": "user"
}{
"id": 42,
"name": "Ada",
"role": "admin",
"emailVerified": true
}role ("user" → "admin"), and Added at emailVerified. Object key order is irrelevant — if the modified JSON listed keys differently but values matched, the semantic diff would stay quiet.Tips for clearer JSON diffs
✓ Validate before diffing
Fix syntax errors first with the JSON Formatter — invalid panels block a trustworthy compare.
⇄ Swap sides freely
Flip Original and Modified when you pasted backwards — no need to re-copy both blobs manually.
📊 Filter large reports
Use Added / Removed / Changed filters in Report view when reviewing massive API payloads.
📎 Export for tickets
Attach CSV or TXT summaries to Jira/Linear issues so reviewers see paths without opening the tool.
JSON diff vs text diff vs git diff
Each tool shines in different scenarios — choose based on whether your inputs are structured JSON:
| JSON diff (Spoold) | Text diff | git diff | |
|---|---|---|---|
| Understands JSON values | Yes — semantic tree walk | No — lines/bytes only | No — line hunks in files |
| Ignores object key reorder | Yes | Often noisy | Shows as line edits |
| Path-level change report | Yes (dot/bracket paths) | Rarely | File paths + lines only |
| Arrays & nesting | Explicit index paths | Depends on formatting | Depends on formatting |
| Best for minified JSON | Still readable | Usually unreadable | Better with fmt-on-save |
| Runs in browser tab | Yes — client-side tool | Varies by host | Local repo focus |
Use a JSON diff when both sides are valid JSON and you care about fields; fall back to text or git diffs for prose, logs, or non-JSON configs.
Related search terms
Developers often discover JSON compare tools through searches like:
Frequently asked questions
Is my JSON uploaded to Spoold?
Does object key order affect the diff?
How are JSON arrays compared?
What export formats are available?
Can I share a diff with teammates?
Should I use JSON Diff or the Formatter first?
Related tools
JSON Diff
The tool described in this guide.
JSON Formatter
Pretty-print, minify, and validate JSON.
JSON Schema Validator
Validate payloads against a schema contract.
JSON ↔ YAML
Convert configs before pasting into diff.
JSON ↔ TOML
Bring TOML configs into JSON for comparison.
Text Diff
Line-based diff when inputs are not JSON.
Try JSON Diff now — private & client-side
Paste Original and Modified JSON, explore Report/Side/Unified views with Monaco, export or share — no sign-up.
Related Articles
curl Compare Tool Online: Side-by-Side curl Comparator, Diff Two curl Commands
Free online curl comparator and curl diff tool. Paste two curl commands, compare method, URL, headers, query params, auth, cookies, and body with Monaco diff and structured tables. Client-side, no upload — learn workflows, examples, and FAQs.
OpenAPI Viewer & curl Generator — Browse Swagger / OAS 3 Specs and Copy curl Commands Online
Free online OpenAPI viewer and Swagger viewer with a built-in curl generator. Paste OpenAPI 3.x or Swagger 2.0 JSON/YAML, browse operations by tag, pick a server, and copy a ready-to-run curl command per endpoint. Learn how base URLs, path parameters, query strings, request bodies, and security placeholders are built into each curl command — all client-side, no upload.
JSON Schema Validator Online: Validate JSON Against a Schema
Learn what JSON Schema is, which drafts matter (4–2020-12), how SchemaStore helps, and how to use a free browser validator for APIs, configs, and package.json.