What is a Text Diff Checker?
A text diff checker compares two versions of a text and marks every line, word or character that was added, removed or left untouched. This one uses a longest-common-subsequence comparison — the same idea behind git diff and the split view in code review tools — so the result is the smallest set of changes that turns the first text into the second.
It compares in three modes. Line mode treats each line as one unit and suits prose, config files and code. Word mode splits on whitespace and exposes the changed words inside otherwise identical sentences. Character mode compares single characters, which is what you need to find one wrong digit in an ID or a curly quote where a straight one belongs.
Two toggles change the comparison without touching your text. Ignore case treats "Apple" and "apple" as equal, and ignoring leading and trailing spaces means a re-indented file no longer reports every line as changed.
How to compare two texts
- Paste the original version into the left box and the changed version into the right box. There is no compare button — the diff is recomputed as you type.
- Pick Lines, Words or Characters from the Compare menu. Lines is the default and the right choice for most prose and code.
- Tick Ignore case or Ignore leading/trailing spaces when those differences are noise rather than signal.
- Read the summary strip above the result: how many tokens were added, how many removed, and the size of each side. Two identical texts are called out explicitly.
- Use Load example to see the output format, Swap sides to reverse the direction, and Clear to start over.
Text Diff Checker limits and rules
| Item | Limit |
|---|---|
| Maximum comparison size | About 2,000,000 token pairs — roughly 1,400 lines against 1,400 lines |
| Line mode | One line is one token, so a reflowed paragraph reads as a full replacement |
| Word mode | Whitespace-delimited; punctuation stays attached to its word |
| Character mode | Compares Unicode code points, so an emoji is a single unit |
| Ignore case | Affects comparison only — the original casing is preserved in the output |
| Ignore leading/trailing spaces | Spacing inside a line still counts as a change |
| Not supported | No three-way merge, no inline word highlighting inside line mode, no saved history |
When to use it
- Reviewing an edited draft — see which sentences a client or editor actually changed instead of reading both versions from the top.
- Comparing configuration between environments, such as a `.env` file in staging against production, where a single flipped flag matters.
- Checking a revised contract, policy or set of terms against the previous revision before you agree to it.
- Verifying copied data: keys, licences, serial numbers and base64 blobs, where character mode catches the one character that differs.
- Confirming that two strings believed to be identical really are — the tool states it outright when nothing changed.
Is it private?
Everything runs inside your browser. Your text and files are never uploaded, never stored and never seen by anyone else — including me. You can use the tool with the network tab open and watch no request leave the page. Closing the tab erases the input.
Frequently asked questions
Not in Lines mode: a modified line is reported as one removal and one addition. Switch to Words or Characters and the changed portion is highlighted inside the otherwise unchanged text.
Yes. Paste the contents of both files and use Lines mode. Leave Ignore leading/trailing spaces off if indentation is meaningful, because turning it on will hide exactly the whitespace changes that break Python or YAML.
Both find a longest common subsequence of the two inputs, which is what makes the change list minimal. Git uses the Myers algorithm for speed on large files; the output here describes the same changes, though the ordering of adjacent edit hunks can differ.
Because by default every character counts. Tick Ignore leading/trailing spaces to drop indentation and trailing-space differences, and ignore case as well if capitalisation should not matter.
No. Both texts stay in the page and the comparison runs in JavaScript on your device, so pasting confidential drafts, credentials or contracts carries no upload risk.
Related tools
Written and maintained by Md. Nur Hossain Repon.