Skip to content
FileConvertify
Tools

JSON Compare

Compare JSON values and missing keys without rounding large numbers. Your input stays in your browser.

  • Free, no sign-up
  • Text stays in your browser
  • Local processing / no upload

Limit: 500,000 character units per input. Oversized pastes are rejected. Drafts stay in this page and are not saved.

Tool options

Step by step

How to use JSON Compare

  1. Step 1: Paste the original strict JSON into First input and the second document into Second input. Remove duplicate keys before comparison.

  2. Step 2: Decide whether object key order matters, then select Compare JSON. Arrays are compared by index and large number literals retain precision.

  3. Step 3: Read JSON Pointer paths and before/after values. Copy or download the capped difference report; neither input is merged or overwritten.

Example to try

Load example with key-order comparison off. The report identifies changes at /id and /active. Moving name ahead of id does not count as a change in this mode.

Compare structured values rather than formatting

Paste two strict JSON documents to compare their structure. Whitespace and equivalent string escape notation do not create differences. Objects are matched by property name, with key order ignored by default. Enable Compare object key order when insertion order itself matters. Arrays remain ordered, so moving an element can create differences at multiple indices rather than a single semantic move operation.

Keep numeric comparisons precise

The comparison reads number literals directly from the JSON source and normalizes their decimal representation without converting them into floating-point values. Large integer IDs therefore remain distinct, while equivalent forms such as 1 and 1.0 compare equally. Duplicate object keys are rejected because their interpretation varies across consumers. Comments, trailing commas and malformed documents also produce an actionable error before comparison begins.

Output limits and local processing

Differences use JSON Pointer paths, escaping slashes and tildes in property names. The table and JSON report contain up to 1,000 differences; displayed before and after values are abbreviated to 500 characters. A notice identifies these limits. Nesting beyond 200 levels is rejected. The comparison does not validate JSON Schema, infer business equivalence or merge either document into the other.

Inputs and results are held only in this page's memory. Developer inputs accept up to 500,000 character units each. Oversized pastes are rejected while preserving the previous input. Generated output is limited to 5,000,000 character units. No sign-up is needed. Copy and download actions are explicit; the tool does not upload your drafts or save them for a later visit.

Frequently asked questions

Are object keys compared in order?
Not by default. Enable Compare object key order to report ordering changes as well as changed values and missing keys.
Does array order matter?
Yes. Arrays are compared by index. This tool does not treat them as sets or detect moved records by an ID field.
Can large integer IDs be compared safely?
Yes. Numeric comparison uses source literals and exact decimal normalization, preserving distinctions beyond JavaScript's safe integer range.
What does a missing key mean?
Added means a value exists only in the second document; Removed means it exists only in the first. A present null value is distinct from a missing property.