Compare JSON Files Online
Compare values and types by JSON path, then switch to an exact raw-text review when needed.
Comparison content is processed in this browser and is not uploaded to DiffPeek.
Structural JSON comparison online
Paste two JSON documents and DiffPeek compares parsed values, types, objects, and arrays. Every result includes its JSON Pointer path, before-and-after values, and a corresponding JSON Patch operation. Page through every structural path when a result exceeds the bounded on-screen list, or switch to the raw text view for formatting and line-order changes.
Comparison content is processed in this browser and is not uploaded to DiffPeek. The page itself still makes ordinary requests for site assets; limited anonymous analytics can be disabled through Analytics settings in the footer.
Reproduce the release-config example
Choose Try sample, or open the filled example. The changed document deliberately reorders object keys; that reordering produces no structural change.
Expected result: 7 structural changes — 2 added, 1 removed, 3 modified, and 1 type change. Look for /release/version changing from the number 1 to the string "2", /legacy changing from present-with-null to absent, and indexed changes under /owners.
[
{ "op": "remove", "path": "/legacy" },
{ "op": "replace", "path": "/release/version", "value": "2" }
]
Download the original JSON, changed JSON, verified patch, or an invalid input for validation testing.
The complete patch can also be copied or downloaded from the result. DiffPeek compares array items by index, so moving an array item can appear as replacement and add/remove operations rather than as a move.
How do I compare two JSON files online?
Paste each document into a panel and choose Find Differences. Invalid JSON is reported before comparison. The structural view opens first and the raw text view remains one click away.
Does DiffPeek validate JSON?
Yes. Before structural comparison, DiffPeek reports invalid syntax, duplicate object keys (including equivalent escaped keys), unquoted integers outside ±9,007,199,254,740,991, and numbers outside JavaScript's finite range. Quote large identifiers when their digits must be preserved exactly.
Does key order matter?
No in the structural view: object key order and whitespace are ignored. The raw text view still shows key-order and formatting changes when an exact representation comparison is useful. Array items are compared by index.
Can I export the changes?
Yes. Copy or download an RFC 6902-style JSON Patch containing local add, remove, and replace operations. The patch is generated locally and comparison documents are not uploaded to DiffPeek.
What are the JSON limits?
Each side is limited to 10 MB and 100,000 text lines. Structural review is limited to 160 levels of nesting, 100,000 visited values, and 10,000 structural changes; each on-screen list page renders at most 1,500 changes while page controls keep the complete structural result reachable. Duplicate keys and unsafe unquoted integers are rejected instead of being silently overwritten or rounded. Fractional and finite exponent values use JavaScript Number semantics; use the raw view when exact source representation is the requirement.
For a longer walkthrough, read the structural JSON comparison guide. Compare tabular exports with CSV Compare, inspect formatting-only changes with Text Compare, or review an entire project with the Folder Diff Checker.