JSON Diff

Compare and merge JSON. Fast, free, no ads

Array:
MERGE
Paste JSON in both panels to compare
Ctrl+F Find Ctrl+↑/↓ Navigate diffs

Free Online JSON Diff Tool

PlayCode's JSON diff tool lets you compare and merge JSON files instantly. Unlike other tools cluttered with advertisements, our JSON compare tool is completely free and ad-free. Your data is processed entirely in your browser, nothing is sent to any server.

How to Compare JSON Files

  1. Paste your first JSON in the left editor (or drag & drop a file)
  2. Paste your second JSON in the right editor
  3. Differences are highlighted automatically
  4. Click any difference to see its JSON path
  5. Use the arrow buttons to apply individual changes

Features

Three-Way Merge

Git-style merge with base, left, and right. Detect and resolve conflicts

Array Comparison

Compare by position, smart matching, or by key field (id, uuid, etc.)

Monaco Editor

VSCode-powered editor with syntax highlighting, code folding, and find/replace

Apply Changes

Click to apply individual changes from left to right or vice versa

JSON Patch Export

Export differences as RFC 6902 JSON Patch format for programmatic use

Share via URL

Generate a shareable link with both JSONs encoded in the URL

JSON Diff vs Text Diff

A regular text diff compares files line by line, but a JSON diff understands the structure of your data. This means it can detect when a key was renamed, when an array item moved, or when nested objects changed, providing much more meaningful comparisons for API responses and configuration files.

Three-Way Merge Explained

Three-way merge is the same technique used by Git. Instead of just comparing two files, it uses a common ancestor (base) to determine what changed on each side. This makes it possible to automatically merge non-conflicting changes and highlight true conflicts where both sides modified the same field.

JSON Patch Format (RFC 6902)

JSON Patch is a standard format for describing changes to JSON documents. Each change is an operation (add, remove, replace, move, copy, test) with a path pointing to the location in the document. This format is useful for sending minimal updates over APIs or storing change history.

Example JSON Patch
[
  { "op": "replace", "path": "/version", "value": "2.1" },
  { "op": "add", "path": "/features/-", "value": "JSON Diff" }
]