This text diff checker compares two blocks of text and highlights exactly
which words were added or removed, word by word rather than line by line. Runs entirely in
your browser.
How to use it
Paste the original text on top and the changed version below, then click "Compare". Removed
words appear struck through in red, added words appear underlined in green, and unchanged
text stays plain.
How word-level diffing works
The text is split into word-and-whitespace tokens, and the diff algorithm finds the
shortest sequence of token insertions and deletions that turns the original into the
changed version — the same category of algorithm git diff uses for lines,
applied here at the word level instead.
When this is more useful than a line diff
Comparing two drafts of a paragraph, a legal clause, or a product description usually
involves small in-place edits rather than whole rewritten lines — a line-level diff would
just mark the entire paragraph as changed, while a word-level diff shows precisely which
words moved.
Frequently asked questions
Why word-level instead of line-level or character-level?
Line-level diffing marks a whole line as changed even if only one word moved, and character-level diffing is noisy for prose. Word-level is the sweet spot for comparing sentences, paragraphs, or short documents — it shows exactly which words changed without drowning the result in unrelated line or character noise.
What algorithm does this use?
This tool uses jsdiff, a widely used JavaScript diff library that implements the standard Myers diff algorithm at the word level — the same class of algorithm behind tools like `git diff`, adapted to compare word tokens instead of lines.
Why not write a diff algorithm from scratch?
A correct, efficient diff implementation has real edge cases (how whitespace and punctuation get tokenized, how the algorithm picks between equally-short edit sequences) — using a mature, widely-tested library avoids subtly wrong output that would be easy to miss in a quick visual check.
Does it ignore whitespace or capitalization differences?
No — comparisons are exact by default, since silently ignoring differences could hide a real change. If you need a whitespace- or case-insensitive comparison, normalize both texts yourself before pasting them in.
Is my text sent anywhere?
No. The comparison runs entirely in your browser via JavaScript — nothing is transmitted, logged, or stored.