Text · Batch

Bulk Text Diff Checker

Paste several original/modified text pairs at once and see a line-by-line diff for every one in a single pass — instead of running one comparison, reading it, then pasting the next pair in.

Text pairs

One pair per block. Start a block with ### Label (optional), then the original text, a line containing just ===, then the modified text. Separate multiple pairs with a line containing just -----.

How the diff works

Each pair is compared line by line using a longest-common-subsequence algorithm — the same basic approach behind git diff and most diff tools — to find the smallest set of removed and added lines that explains the difference between the two versions. Lines that appear unchanged are shown as-is; a line that was edited (not just added or deleted) shows up as one removed line plus one added line, since the algorithm compares whole lines rather than tracking word-level edits within a line. See this post for the situations where comparing several pairs at once actually saves real time over doing them one by one.

Limits

Each side of a pair is capped at 2,000 lines. The comparison algorithm is quadratic in the number of lines (checking every line of one version against every line of the other), so very large inputs can get noticeably slower — 2,000 lines keeps every pair comfortably fast even when you're running several at once.

FAQ

Is my text sent anywhere?

No. The comparison runs entirely in your browser using plain JavaScript — no external library, no network request — which you can confirm by checking the Network tab in your browser's dev tools while a comparison runs.

Can this show word-level or character-level differences within a line?

Not currently — this tool compares whole lines, which is the right granularity for config files, structured data, and most code. See this post for when line-level is enough and when you actually need finer-grained comparison.

What counts as "identical" if both versions have the same content but different line endings?

Lines are compared as exact strings after splitting on \n, so a difference in invisible whitespace (trailing spaces, or a stray carriage return left over from Windows line endings) will show up as a removed+added pair even if the visible text looks the same. If you're seeing unexpected diffs on lines that look identical, that's usually the cause.