>_
{±}

JSON Diff

Compare two JSON documents by structure, not by text. Lists every added, removed and changed field with its path, ignores key order, and can optionally ignore array order.

Runs locally — your input never leaves this page.

Original JSON
Changed JSON

    How to use

    1. Paste the original JSON on the left and the changed JSON on the right.
    2. Every difference is listed with its path, such as $.settings.theme, and the old → new value.
    3. Turn on “Ignore array order” when lists are sets (tags, IDs) rather than sequences.
    4. Use “Sort keys & format both” to normalize both sides if you also want a line-by-line text diff.

    FAQ

    Why not just use a text diff?

    Reordered keys, different indentation or minified JSON make text diffs noisy. A structural diff compares the parsed data, so only real changes show up.

    How are arrays compared?

    By default, item by item at the same index — so inserting an element at the start shows several changes. With “Ignore array order”, arrays are compared as multisets and only items missing on either side are reported.

    Report a bug or suggest a feature →