Diff Checker
Compare two texts and highlight what changed between them.
How the comparison works
The two texts are compared line by line using a longest-common-subsequence algorithm — the same idea behind git diff and the Unix diff command. It finds the largest set of lines that appear in both versions in the same order, and everything outside that set is reported as added or removed. A modified line therefore shows up as a removal followed by an addition, because a line either matches or it does not.
Ignoring whitespace
Reformatting, a change of indentation, or a file that picked up trailing spaces will otherwise mark every touched line as changed and bury the real edit. The whitespace option compares lines with leading and trailing space removed and internal runs collapsed, while still displaying each line exactly as you pasted it. Turn it off when the whitespace is the thing you are checking — in a YAML file, a Python source file, or a Makefile, indentation is meaning.
Both versions stay in your browser
Comparison happens locally and neither text is uploaded, which matters because diffing is so often done on exactly the material you should not paste into a random website: a contract revision, a config file with credentials in it, an unreleased draft. Nothing is stored either — reloading the page clears both panes.
The size limit is deliberate
The algorithm builds a table proportional to the two line counts multiplied together, so a 10,000-line comparison means a hundred million cells and a frozen tab. Three thousand lines per side keeps it responsive. For anything larger, a real version control tool is both faster and better suited to the job.