Diff checker
Compare two blocks of text line by line
What this diff does and does not do
The comparison is Myers' O(ND) algorithm, hand-rolled — the same family git and diff(1) use — so the alignment is a genuine shortest edit script rather than a line-by-line equality walk.
Differences are found per line, not per character within a line: a one-word edit marks the whole line changed. A block that moved is reported as a removal in one place and an addition in another, because move detection is a different problem from a line diff.
Lines are split on LF and CRLF is tolerated, so a file saved on Windows does not read as entirely changed against the same file saved on macOS. A trailing newline is not counted as a final empty line.
Colour marks the sides, but the - and + gutters carry the same information for anyone who cannot separate red from green, or who is reading this in greyscale. Each row also announces its kind (unchanged, removed, added, changed) to assistive technology.