Back to Blog
12 min read
Guide

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

AddedRemovedChangedReport viewSide viewUnifiedExportMonaco DiffEditor

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

1

Open the tool

Go to JSON Diff. Optionally load a sample to explore views before pasting your own documents.

2

Paste Original JSON

Put the baseline — old API response, previous config export, or “before” snapshot — in the original pane. Validation runs locally.

3

Paste Modified JSON

Add the new version in the modified pane. Monaco keeps scrolling aligned so you can skim both texts.

4

Pick Report, Side, or Unified

Switch views to match your task: flat paths for audits, dual trees for structural comparison, unified tree for density.

5

Refine with Monaco DiffEditor

Use the Monaco diff surface when you need character- or line-level context around a reported path.

6

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:

Original JSON (left / baseline)
{
  "id": 42,
  "name": "Ada",
  "role": "user"
}
Modified JSON (right / new)
{
  "id": 42,
  "name": "Ada",
  "role": "admin",
  "emailVerified": true
}
What the diff highlights: Changed at 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 diffgit diff
Understands JSON valuesYes — semantic tree walkNo — lines/bytes onlyNo — line hunks in files
Ignores object key reorderYesOften noisyShows as line edits
Path-level change reportYes (dot/bracket paths)RarelyFile paths + lines only
Arrays & nestingExplicit index pathsDepends on formattingDepends on formatting
Best for minified JSONStill readableUsually unreadableBetter with fmt-on-save
Runs in browser tabYes — client-side toolVaries by hostLocal 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:

json diff onlinecompare json filesjson compare tooldeep json comparejson difference checkervisual json diffmonaco json diffcompare api responses jsonjson diff viewer onlinesemantic json diffdiff two json objectsjson structural diff

Frequently asked questions

Is my JSON uploaded to Spoold?
No. Parsing, diffing, Monaco rendering, and exports run entirely in your browser. Payloads are not sent to our servers for this tool.
Does object key order affect the diff?
No — keys are matched by name. Reordering keys with identical values does not create artificial changes.
How are JSON arrays compared?
Arrays use positional pairing: index-by-index comparison with additions and removals surfaced along the array path.
What export formats are available?
You can download the semantic report as JSON, CSV, or TXT for audits, tickets, or offline archiving.
Can I share a diff with teammates?
Yes — save or share generates a link-backed snapshot where appropriate (client-side storage plus URL state), so collaborators can reopen the same comparison.
Should I use JSON Diff or the Formatter first?
Use the JSON Formatter when you need to fix malformed JSON. JSON Diff assumes both panels parse successfully so it can compute a structural delta.

Related tools

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.

Try It Now

Put this guide into practice with our free tools. No sign-up required.

Open JSON Diff
JSON Diff Online — Compare Two JSON Files, Deep Compare & Visual Diff (Monaco) | Spoold Blog | Spoold