DiffShift · Runs in your browser · The Altar by Misfit Mindset · Shift

About DiffShift

Two versions of a paragraph, two API payloads, two 'final' contracts. DiffShift compares texts side by side in the browser and highlights the delta. Use it when git is overkill or the strings never lived in git. Do not use it as a Word track-changes clone with formatting, a binary diff, or a merge tool that writes a third file with conflict markers. Whitespace-only changes can look louder than they are. If you care about words, not spaces, glance at the options. JsonShift first if the 'text' is minified JSON.

Paste left and right. See insertions and deletions. Line diff vs word diff changes the noise. A reformatted JSON file will scream on a line diff and whisper after both sides go through JsonShift. For prose, word-level is kinder. For code, line-level matches git muscle memory. Legal redlines that detect moved paragraphs as moves are a different product; read a big delete plus insert as a possible move.

When not to use it: images, PDFs, and 50,000-line dumps that belong in git diff --stat. Also skip it if you needed a legal redline with moved paragraphs detected as moves. This is a text differ, not a document intelligence product. RegexShift is for extracting, not comparing. Binary, PDF, and DOCX formatting belong in their own tools; this is a text differ, not WinMerge for Word.

Privacy is local. Contracts and payloads stay in the tab. Public web diffs are how NDA drafts leak. Close when done. Nothing is stored as a gist unless you copy it out. Fifty thousand line dumps belong in git diff --stat; the tab is for two pastes that never lived in git.

How to use it

  1. Paste the older (or left) text in one pane and the newer in the other.
  2. Run the comparison; switch line vs word highlighting if the noise is wrong.
  3. If both sides are minified JSON, pretty-print in JsonShift first.
  4. Read only the highlighted spans; do not assume the rest is identical without a glance.
  5. Copy the winning version back to the source of truth — DiffShift does not save a merge.

Worked example

Two 800-word policy drafts. Word-level diff shows a changed retention '30 days' to '1 hour' and a dropped sentence about subprocessors. You keep the hour. A second compare of two minified webhooks is unreadable until JsonShift formats both; then one field, amount, changed from 1200 to 1250. Neither draft uploaded to a diff website. Retention changing from 30 days to 1 hour is the policy delta a word-level view is for.

Limits — when not to use DiffShift

Privacy

DiffShift compares in the browser. Left and right texts stay on the device. NDA drafts and payloads do not upload. Close the tab when you have copied the winner. NDA drafts and payloads stay in the tab; public web diffs are how those drafts leak into indexes.

Full policy: Shift Privacy Policy. Questions: [email protected].

Questions people actually ask

Is this git diff?

It is a similar idea without a repo. No hunks to stage, no blame. For real code, use git. For two pastes, use this. No hunks to stage and no blame; for real code use git, for two pastes that never had a repo use this.

Why is the whole JSON red?

Minified vs pretty, or key order. Format both sides. JSON object key order can still differ after parse-and-dump. Minified versus pretty, or shuffled keys after parse-and-dump, is why an entire JSON blob goes red.

Can it ignore case?

If the UI offers a switch, use it for prose. For code and legal amounts, do not ignore case or you will miss a real change. Ignore-case is a prose switch; for code and legal amounts, turning it on is how you miss a real change.

What about moved paragraphs?

Many diffs show a big delete and a big insert. Read both. A human still has to see it was a move. A human still has to see that a paragraph moved; many diffs will only show a large delete and a large insert.

Related tools: MarkdownShift · RegexShift · JsonShift
Guides · All Shift tools · About · Contact