Text Diff Checker
Paste two blocks of text and see which lines were added, removed, or changed, color-coded line by line with counts — all in your browser.
| # | Original | Changed |
|---|---|---|
| 1 | apples | apples |
| 2 | bananas | blueberries |
| 3 | cherries | cherries |
| 4 | dates | elderberries |
| 5 | figs | figs |
Lines are lined up by position. Green means a line only exists on the right, red means it was dropped, and amber means the two lines differ. Unchanged lines have no color.
How it works
Drop the old version on the left and the new one on the right. The tool splits both on line breaks and lines them up by position — line 1 against line 1, line 2 against line 2, and so on down the longest of the two.
Each pair gets a verdict. If both lines match, nothing lights up. If they differ, the row turns amber. If a line only exists on the right it's counted as added and shown green; if it only exists on the left it's removed and shown red. The three tallies at the top give you the shape of the change at a glance.
This is a positional, line-based comparison rather than a smart word-level diff, so inserting a single line near the top will shift everything below it and mark those lines as changed. That's expected — it keeps the logic predictable and fast for spotting edits in configs, logs, and short snippets.
Frequently asked questions
Does it compare word by word?
No, it works line by line. Two lines either match exactly or they don't. That's great for configs and code, but if you need to see which words moved inside a paragraph, a word-level diff tool will serve you better.
Why are so many lines marked changed after I added one line?
Because lines are matched by position. Insert a line near the top and every line below shifts down by one, so each now sits opposite a different line and reads as changed. It's a side effect of positional diffing, not a bug.
Is my text uploaded anywhere?
No. Both blocks stay in your browser and the comparison runs in JavaScript on your machine. Nothing is sent to a server, so it's safe for private or internal text.