What a diff shows
A diff lines up two versions of a text and finds the smallest set of lines that were removed and added to get from one to the other. Removed lines are red, added lines are green, and a line that was edited shows both — with the words that changed highlighted inside it. Long unchanged stretches are folded so the changes stand out.
It uses the Myers algorithm, the one git diff uses by default, so the result reads the way you are used to from code review.
- Ignore WhitespaceRe-indented or reflowed text. Careful in Python and YAML, where indentation is meaning.
- Ignore CaseSQL keywords, hostnames, HTTP header names.
- Ignore Line EndingsA file saved on Windows (CRLF) against one from macOS or Linux (LF).
- JSON ModeTwo API responses whose keys came back in a different order.
How to use the diff checker
- Paste the original text on the left and the changed text on the right — or press Open File, or drop a file onto either box.
- The differences appear below as you type. Switch between Side by Side and Unified.
- Jump between changes with Previous and Next; click a folded row to see the unchanged lines around a change.
- Tick an Ignore option when the noise is not what you are looking for, or JSON Mode to compare JSON regardless of key order and formatting.
- Press Copy as Patch to paste the result into a ticket or a code review as a unified diff.
Examples
Review a deployment change
A Kubernetes manifest with a new image, more replicas and a new variable. Unchanged blocks fold away.
Compare two API responses
Keys in a different order, one value changed. JSON Mode shows only the real difference.
Find out why every line changed
The same file saved on Windows and on macOS. The checker names the line endings as the cause.
See past re-indentation
Code moved from two-space to four-space indents, plus one real fix. Ignore Whitespace finds the fix.
Frequently asked questions
Why does every line show as changed?
Almost always line endings: one text uses Windows line endings (CRLF), the other macOS or Linux ones (LF). They look identical but are not. The checker detects this and says so; tick Ignore Line Endings to compare the content. Line endings only survive when you open or drop the files — browsers convert them to LF when text is pasted into a box.
Does JSON Mode change my numbers?
No. JSON Mode formats both sides and sorts their keys before comparing, but it keeps every number exactly as written — 12345678901234567890 and 1.0 stay as they are, unlike tools built on JSON.parse.
Are my texts or files uploaded?
No. The comparison runs in your browser, and files are read from your disk straight into the page. You can confirm it in the Network tab of your browser's developer tools.
How large can the texts be?
Up to 5 MB on each side. Large comparisons run in the background so the page stays responsive.
What format does Copy as Patch use?
The unified diff format that git diff and diff -u print: - for removed lines, + for added ones, and @@ headers with line numbers.