Everything runs in your browser. We never see your files. How we prove it →
Text & Code Diff Tools
Five ways to line up two versions of the same words — whole lines, single words, or one character at a time.
- Text CompareCompare two texts instantly in your browser. Side-by-side and inline views, word and character highlighting. Nothing you paste ever leaves your device.
- Code DiffCompare two code snippets with syntax highlighting for 40+ languages. Side-by-side diff runs fully in your browser — your code is never uploaded.
- Word-Level DiffSee exactly which words changed between two texts. Word-level comparison for prose, contracts, and articles. 100% in-browser, nothing uploaded.
- Character DiffFind every single character that differs between two strings or texts. Perfect for keys, IDs, and typos. Runs entirely in your browser.
- Unified Diff & Patch Generator OnlineGenerate a unified diff (.patch) from two texts or files, ready for git apply. Created locally in your browser — nothing is sent anywhere.
- Patch AppliersoonNot built yet — this page will link it the day it ships.
- String ComparesoonNot built yet — this page will link it the day it ships.
About text & code diff tools
Two files that began life identical, and a question about what happened in between: that is the entire job of this category. The tools gathered here assume nothing about the format in front of them. A shell script, a chapter of a manuscript, an access log and a licence key are all, to a line-oriented comparison engine, a sequence of lines with a shared ancestor somewhere behind them.
What separates one tool from the next is granularity and presentation. Line comparison anchors the two sides against each other and reports which lines arrived, vanished or were rewritten. Word comparison ignores where the line breaks happen to fall, which is the right instinct for prose that has been reflowed since the last read. Character comparison rounds nothing off. Over those three modes sit two presentation choices: syntax colouring for source files, and unified patch output when the result has to go back into version control.
None of it needs an install, a repository or a sign-in — two panes, paste, read. That matters most where reaching for `git diff` is not an option: something a colleague emailed you, something copied out of an admin console, something that was never committed anywhere.
Picking the right text tool
Begin at Text Compare when the answer is not obvious. It is the general case: two panes, switchable granularity, and options to ignore whitespace or case while matching. Move past it when the material has a shape worth respecting. Source belongs in Code Diff, which detects the language and colours both sides so a changed condition reads as code. Contracts, articles and drafts belong in Word-Level Diff, where a rewrapped paragraph stays quiet and a substituted adjective does not. Short values where every glyph counts — a key, a checksum, two identifiers that look alike at a glance — belong in Character Diff, which will not let a Cyrillic look-alike through. When the result has to leave as a change set rather than a screenshot, Patch Generator writes a standard unified diff.
Two more sit on the roadmap: a Patch Applier for the return trip, and String Compare for single-line values. Neither is built, so neither is linked here.
What happens to text you paste here
Text is the category where sensitive material turns up most casually: a stack trace with a customer email inside it, an unsigned agreement, a production config somebody pasted into a chat thread. None of these pages has an upload control, because there is no server behind them to upload to — the comparison is JavaScript running in your tab, and the result stays there until you close it. Open your browser's network tab while you use these tools — you'll see no request carries your content. The verification procedure takes about two minutes.
Frequently asked questions
Which of these matches what `git diff` prints?
Patch Generator does, exactly — it emits the same unified format, hunk headers and all. Code Diff finds the same set of changed lines but arranges them for reading rather than applying, with word marks inside changed lines and long unchanged stretches folded away. Generate a patch when a machine will consume the output; read a diff view when a person will.
Do I have to say which language my code is written in?
No. Code Diff samples both inputs and picks a grammar from more than forty candidates, and you can override the guess when a snippet is too short to classify confidently. Highlighting is presentational: it changes the colours on screen, never which lines get reported as changed.
How much text can I put in?
Comparison stays live to roughly a megabyte of combined input, after which an explicit Compare button appears so typing never stalls. Loaded files run to about ten megabytes a side comfortably. The real ceiling is your browser, not the site — two copies plus a result have to fit in tab memory at once.
Can I load files instead of pasting?
Yes. Drop a file onto either pane or use the picker; the browser reads the bytes locally through the File API and hands them to the page. Nothing is transmitted along the way. Mixing works too — a pasted snippet on one side, a loaded file on the other.