Everything runs in your browser. We never see your text. How we prove it β
Text Compare β Free Online Diff Checker
Paste two versions of anything below. The comparison runs live, in your browser, at line, word or character precision.
How this text comparison works
DiffViewer computes the shortest edit script between your two texts with the Myers difference algorithm β the same deterministic method behind git. Deterministic matters: the result is every changed line, found exhaustively, not a summary that might skip one. Comparison happens at three levels. Line granularity anchors the two texts line by line, then refines each changed pair with word-level marks so you can see what moved inside the line. Word and character granularity re-tokenize the whole input, which suits reflowed prose where line breaks carry no meaning β the dedicated Word-Level Diff and Character Diff pages are tuned versions of those two modes.
Everything recomputes about 200 milliseconds after you stop typing, inside a Web Worker so the page never stutters, even on six-digit line counts. Past thirty thousand lines the engine switches to a faster line-mode strategy, and unchanged stretches longer than eight lines fold away so the changes stay in view. Normalization options β ignore whitespace, ignore case, trim lines β are applied before matching, which is how two texts that differ only in indentation can honestly report "no differences".
Your text stays private
People paste sensitive things into a comparison tool: contract drafts, unreleased announcements, production logs with customer identifiers. That is exactly why this site has no upload step at all β the diff engine is JavaScript running on your machine, and the results exist only in your tab. There is no account, no history, and no server that could retain a copy. Open your browser's network tab while you use this tool β you'll see no request carries your content. The claim is inspectable, not a promise; here is exactly how to check it.
What people compare here
- A backend developer mid-incident pastes the staging and production config dumps to find the one value that differs. Line granularity plus the collapse of unchanged regions turns a 900-line file into a six-line answer.
- A contracts manager checks that the countersigned agreement matches the draft that legal approved. Word marks inside changed lines expose a quietly reworded clause faster than re-reading both documents.
- A support engineer lines up two log captures from a working and a failing session. Ignore-whitespace hides the timestamp jitter so only meaningful lines light up.
- A novelist between drafts wants to know what actually changed in chapter three after an editing pass. Inline view reads top to bottom like a marked-up manuscript.
Frequently asked questions
Is the text I paste uploaded anywhere?
No. The comparison runs in JavaScript inside your browser tab. This page makes no network request that contains your text β you can watch the network panel in DevTools while typing to confirm, and our privacy policy walks through the exact steps.
How large a text can I compare?
Live comparison runs up to 1 MB combined; past that you get an explicit Compare button. Files work up to about 10 MB per side at full fidelity, with a 50 MB absolute ceiling β beyond that, browsers themselves struggle to hold two copies plus the result in memory.
What is the difference between line, word and character mode?
Line mode answers "which lines changed" and highlights the words that moved inside them. Word mode re-flows the whole text and marks changed words even across line breaks β best for prose. Character mode finds every single differing character, which is what you want for keys, IDs and near-identical strings.
Why does the result differ slightly from git diff?
Both use Myers-style shortest edit scripts, but git works commit-to-commit with its own heuristics (rename detection, hunk context settings), while this tool pairs removed and added runs into modified lines and marks intra-line words. The set of changed lines agrees; the presentation is built for reading, not for patching β though the Export menu produces a standard .patch when you need one.
Can I share a comparison with someone?
Yes β Share packs both inputs and your settings into the link itself after the # symbol. Browsers never send that fragment over the network, so the link carries your diff without any server storing it. Above 8 KB compressed, we hand you a self-contained HTML report to send instead.
Related tools
- Word-Level DiffThe word-granularity mode as its own tool, tuned for prose and contracts.
- Character DiffLetter-by-letter comparison for keys, hashes and IDs where one glyph matters.
- Code DiffThe same engine with syntax highlighting and language detection on top.
- JSON DiffCompares JSON by structure, so reordered keys stop counting as changes.
- Unified Diff & Patch Generator OnlineTurns two texts straight into a unified .patch ready for git apply.