JSON Diff Checker
This free JSON diff checker compares two documents by their parsed structure and creates a JSON Patch. Paste the original and updated JSON to find changes without uploading API responses, settings or other text.
Your files and text stay on this device. Processing runs in your browser.
Ready.
Output
How to use the JSON Diff Checker
Paste the original JSON on the left and the updated JSON on the right. Process to generate a JSON Patch; array order matters, while object key order does not.
Up to 1 MB per input and 128 levels of nesting. Numbers must be finite, and integers must remain within JavaScript safe integer precision. Use strings for identifiers that need exact digits beyond that range.
What the JSON Diff Checker does
Find changes in configuration files, API responses and exported records without treating object key order as a difference. Values and types still matter: a string is not a number, and a missing property is not the same as null. Array order remains meaningful because it can describe a sequence of records or operations.
Example and practical limits
Use the JSON diff checker to compare an original object with a renamed value in the updated object. The patch identifies the changed property rather than rewriting the entire document. For an ordered array, reordering items can create changes. Enable whole-array replacement when replacing the changed array is easier for your workflow.
Frequently Asked Questions
Does the JSON Diff Checker upload my files or text?
No. Processing happens on your device. The page downloads its application code, but your selected files and pasted text are not sent to a conversion service. Download the result before leaving the tab.
Does object key order count as a difference?
No. Objects with the same properties and values compare equally even if their keys appear in a different order. This also applies to objects nested inside arrays.
How are arrays and missing values handled?
Array order matters. You can replace changed arrays as a whole or keep individual changes. A missing property, null and an empty value are distinct inputs.
Can I compare documents with very large integers?
Unsafe integer values are rejected rather than silently compared after rounding. Store exact identifiers beyond JavaScript safe integer precision as strings, and keep the documents within the displayed size and nesting limits.
Can I use the JSON Diff Checker offline?
Load the page and its processing libraries first. Browser caching may allow later use without a connection, but offline availability is not guaranteed. Keep your source files and download finished results before closing the page.
Reshaping data by hand again?
A payload you have to fix in a browser tab every time is a job for code. We build the integrations, parsers and services that move data between systems, and we repair the ones that quietly corrupt it on the way through.
Tell us what you are moving