← Back to Compare

Documentation

CompareFiles compares a Baseline (the first document, and the schema reference for structure comparison) against a Candidate (the second document). Every finding is one of: only in Baseline, only in Candidate, modified (same path, different value), or type-changed.

Loading JSON into a panel

Each panel accepts JSON the same four ways:

Prettify validates and reformats a panel's JSON without altering invalid input, so you can fix a syntax error in place. Once both panels hold valid JSON, Compare, paste, upload, remote fetch, and Load Sample all trigger the same display alignment: Baseline's key order becomes the shared display order, keys unique to one side keep their original position, and array elements are never reordered. Alignment only changes how the JSON is displayed — findings are always computed from the original, unaligned values.

Ordered vs. unordered arrays

Ordered (the default) compares array items by index — item 0 against item 0, item 1 against item 1, and so on. Unordered compares arrays as multisets: item order doesn't matter, but duplicates still count, so removing one of two identical entries is still reported as a removal. Switch modes with the array mode control before comparing; it affects both value comparison and Structure Schema Compare.

Structure Schema Compare

A separate pass compares the shape of the two documents — which fields exist — independent of their values, using Baseline as the schema reference. In Ordered mode, array items are checked against Baseline's first array item by position; in Unordered mode, each side's array items are pooled into a union of observed fields first, so a reordered array with the same item shapes reports no structural mismatch.

Ignore paths

Ignore rules suppress specific fields from visible findings, counts, and highlights (the underlying finding still exists — Show Ignored reveals it again). Rules accept:

The Ignore Paths panel suggests paths seen in the latest comparison, accepts pasted comma- or newline-separated patterns, and reruns the comparison immediately on Apply.

Secure remote fetch

The Add Data dialog can fetch a response directly instead of requiring a manual upload: paste a bare URL, or a cURL command (method, headers, request body, Basic auth, user-agent, and cookies are all supported). The request goes through a server-side proxy, not your browser, so it can reach APIs regardless of their CORS policy. Public targets must use HTTPS; a local-development-only exception permits plain HTTP to localhost, 127.0.0.1, and ::1 so you can compare against a service running on your own machine. Non-2xx responses are still loaded, so you can diff an API's error payloads.

Reviewing and exporting results

Findings can be marked Not reviewed, Reviewed, orNeeded, with an optional note, and selected individually or in bulk for a report. Export produces a Markdown report — either every actionable finding, a single result section, or just your current selection — shown in a read-only preview before you copy or download it. Every report carries a privacy warning, since the tool has no way to know whether the values inside are sensitive, and ignored findings are always excluded from report content.