Text & JSON Diff Checker
Paste something on both sides to compare.
About Text & JSON Diff Checker
Paste an original and a changed version of some text (or JSON) and see exactly which lines were added, removed, or changed. Runs entirely in your browser, so a config file, contract clause, or code snippet with anything sensitive in it never has to leave your machine to be compared.
Ordinary text comparison shows every line that differs between two versions — useful for comparing config files, prose edits, log output, or anything else where line order matters and you want to see precisely what moved, was added, or was removed.
JSON is different: two JSON documents can be semantically identical while looking nothing alike as raw text — one minified onto a single line, one indented with tabs, keys in a different order. Compare as JSON re-prints both sides with the same 2-space indentation before diffing, so formatting differences disappear on their own; an additional "Ignore key order" option (on by default) also treats `{"a":1,"b":2}` and `{"b":2,"a":1}` as identical, since most JSON producers don't guarantee key order and a difference there is rarely meaningful.
This is a textual diff of a canonicalized form, not a structural JSON diff — a value that moved from one key to a differently-named one still shows as a removed line plus an added line, not a single "moved" annotation. That covers the common case (did this config actually change?) without the much larger scope of a true structural comparator.
What you can use it for
- Check exactly what changed between two versions of a config file before deploying it.
- Compare two JSON API responses to see if anything besides formatting actually differs.
- Review an edited paragraph or document against its original, line by line.
- Confirm a find-and-replace or refactor didn't change anything unintended.
- Compare two exported settings or data files that use different key ordering.
How it works, step by step
- 1
Paste both sides
The original on the left, the changed version on the right.
- 2
Turn on Compare as JSON, if relevant
Formatting differences disappear automatically; toggle "Ignore key order" for a stricter or looser comparison.
- 3
Read the diff
Removed lines are red, added lines are green, with a running +/- count at the top.
- 4
Swap or clear
Swap sides to see the diff from the other direction, or clear both to start over.
Frequently asked questions
Does this do a structural JSON diff (showing moved or renamed fields specially)?
No — it canonicalizes both sides to consistently indented JSON text and diffs that, which correctly ignores formatting and (optionally) key order, but a value moved to a differently named key still appears as a plain removed line plus an added line rather than a single "moved" note.
Why does my identical-looking JSON show as different?
Most likely key order, if "Ignore key order" is switched off — turn it on to treat `{"a":1,"b":2}` and `{"b":2,"a":1}` as the same. If it's still different, one side probably has a value the other doesn't.
Is there a limit on how much text I can compare?
Yes, 4,000 lines per side. The diff algorithm is a standard dynamic-programming comparison whose cost grows with both sides' length, and no browser tab needs to compare documents larger than that.
Is my text or JSON uploaded anywhere?
No. The comparison runs entirely in your browser — nothing you paste is sent anywhere.