Skip to main content
CuteJSON
↑↓ Navigate Enter Select Esc Close

JSON Diff

Compare two JSON documents by what they mean rather than how they are laid out, and get the path of every difference.

Back to all tools

Keyboard shortcuts

These work wherever the matching action exists on this page.

Open the command palette
Ctrl/Cmd + K
Run the main action
Ctrl/Cmd + Enter
Format
Ctrl/Cmd + Shift + F
Minify
Ctrl/Cmd + Shift + M
Copy output
Ctrl/Cmd + Shift + C
Open file
Ctrl/Cmd + Shift + O
Download output
Ctrl/Cmd + S
Close this dialog
Esc
Open this dialog
F1 / ?

Local data

Everything below is stored only in this browser, on this device. None of it is ever sent anywhere, and closing this dialog is not required for that to stay true.

Unsaved drafts
Tools with remembered options

Recently opened files

    No files opened yet on this device.

    Share via link

    The content is packed into the part of the link after the # sign, which browsers never send to a server. Nothing here is uploaded to cutejson.com or anywhere else.

    Shares the first input on this page. On a tool with more than one, only that one is included.

    Nothing to share yet. Paste or type something first.

    Before

    Load from a URL

    Fetches the URL directly from your browser and loads whatever text it returns into this pane.

    After

    Load from a URL

    Fetches the URL directly from your browser and loads whatever text it returns into this pane.

    Differences

    The differences appear here.

      Runs entirely in your browser. Nothing you paste is uploaded, and you can confirm that in your browser Network tab.

      About this tool

      A text diff on JSON reports the wrong thing. Reindent a file or move a property to the top and it lights up as dozens of changed lines while the data is identical. This compares the documents themselves, so what comes back is a list of paths whose values genuinely differ. Objects are treated as unordered, because that is what the specification says they are. Arrays are compared by position, which is the only honest reading when the tool cannot know whether one element was inserted or every element after it was rewritten. Values count as equal when they mean the same thing, so 1 and 1.0 match and two spellings of the same string match, but two long integers have to agree digit for digit before they are called equal.

      How to use

      1. Paste the original document on the left and the changed one on the right.
      2. Press Compare. Use Swap sides to turn the comparison around.
      3. Read the differences underneath. Each one carries the path of the value and both sides of the change.

      Keep reading

      How to diff two JSON documents by what they mean, not how they look Read the guide