JSON Diff
Compare and merge JSON. Fast, free, no ads
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
- Paste your first JSON in the left editor (or drag & drop a file)
- Paste your second JSON in the right editor
- Differences are highlighted automatically
- Click any difference to see its JSON path
- Use the arrow buttons to apply individual changes
Features
Git-style merge with base, left, and right. Detect and resolve conflicts
Compare by position, smart matching, or by key field (id, uuid, etc.)
VSCode-powered editor with syntax highlighting, code folding, and find/replace
Click to apply individual changes from left to right or vice versa
Export differences as RFC 6902 JSON Patch format for programmatic use
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.
[
{ "op": "replace", "path": "/version", "value": "2.1" },
{ "op": "add", "path": "/features/-", "value": "JSON Diff" }
]