Check & prepare data · Experimental helper

JSON Diff: Compare Two Objects

Compare two JSON objects and show changed values grouped by top-level key.

Work stays in your browserLocal tool processing

Choose two JSON objects to compare their top-level properties.

Private by designYour input stays on your device. Processing happens in this browser.
Your workspace

Start with a file

JSON or TXT · UTF-8 only · up to 2 MB. Original number/string tokens are retained; validation happens when you run. Drop here, or use the file picker.

JSON or TXT · UTF-8 only · up to 2 MB. Original number/string tokens are retained; validation happens when you run. Drop here, or use the file picker.

Paste first JSON instead (optional)

Optional alternative to a file. Editing this text removes its selected file; source text is never reformatted during loading.

Paste second JSON instead (optional)

Optional alternative to a file. Editing this text removes its selected file; source text is never reformatted during loading.

Comparison settings

Ctrl / ⌘ + Enter to run
Result

A clear result starts here

Run the tool to see your output here.

Try the example to explore how it works.
What to know about this tool

Two top-level JSON objects only, each up to 2 MB and 200 nesting levels. Duplicate keys and unsafe numbers are rejected. Nested values are compared as whole values; nested key order matters.

Clear this workspace?

Your inputs, selected files, and current result will be cleared.

Get a result you can use

Instructions and examples

From input to output

  1. Choose two JSON files or paste both objects.
  2. Select Compare JSON files.
  3. Read the changed top-level properties and copy or download the TXT report.

Settings and result behavior

  • Only top-level objects are accepted. Nested values are compared as whole serialized values, not a field-by-field patch.
  • Nested object key order can count as a change. A missing property is shown as undefined, which is report notation rather than JSON.

A worked example

Input
First: {"status":"draft","count":2}
Second: {"status":"ready","count":2}
Settings
No comparison options.
Expected result
status:
− "draft"
+ "ready"

Supported input and limits

Choose a UTF-8 JSON or TXT file, or open “Paste JSON instead”. Use standard JSON with double-quoted strings, no comments and no trailing commas. Each input is capped at 2 MB and 200 nesting levels. Duplicate keys and lossy numeric conversion are rejected.

Two top-level JSON objects only, each up to 2 MB and 200 nesting levels. Duplicate keys and unsafe numbers are rejected. Nested values are compared as whole values; nested key order matters.

If the result is unexpected

  • For an array-root error, provide the intended objects; this tool cannot compare list membership.
  • If nested values appear different only in key order, inspect the complete value before treating it as a content change.

Check before using the result

Check source context and any removed properties. This report does not generate a JSON Patch or choose a preferred version.

Report a problem with this tool. Include a nonsensitive example and your browser details.