Paste two texts, open a file or drop one on a field, and see what changed. Added, removed and changed lines are marked, and inside a changed line the words or characters that differ are highlighted. A summary tops the result, and Previous and Next step through the changes. Options ignore whitespace, case or blank lines. Nothing is compared until both fields have text.
Example
Original, then changed:
server:
host: localhost
port: 8080
debug: true
server:
host: localhost
port: 9090
timeout: 30
debug: true
The summary reads “1 line added, 1 changed”. The port line is shown as changed, with 8080 and 9090 highlighted, and timeout: 30 is shown as added. Copy diff gives:
--- original
+++ changed
@@ -1,4 +1,5 @@
server:
host: localhost
- port: 8080
+ port: 9090
+ timeout: 30
debug: true
Limitations
- Each side can be up to 1 MB. Files must be UTF-8; a byte order mark is removed.
- In a block with more than about 1,000 edits the diff may not be the shortest. The tool then matches on lines that occur once in both texts; if there are none, the block shows as removed, then added.
- Changed lines over 10,000 characters are highlighted whole. At most 2,000 rows are displayed; Copy diff and Download .diff give the full diff.
- A moved block shows as removed in one place and added in another.
- Line endings (CRLF, CR, LF) and a missing final line break are never counted as changes; a note says when they differ.
- Compare as JSON appears only when both texts are valid JSON. It formats both with 2 spaces and sorted keys, values as written, so
1and1.0differ. Line numbers refer to the formatted text. - Ignored blank lines are still shown, as unchanged. Ignore case uses Unicode lower-casing, not a locale’s. With options on, the patch takes unchanged lines from the original.
- Not supported: three-way merge, applying changes, folders, binary files, PDF and Word.
FAQ
How does it find the differences?
It compares whole lines first and pairs removed and added lines that sit in the same place. Inside each pair it compares again, by words or by characters, depending on the Highlight setting.
What does Ignore whitespace change?
Runs of spaces and tabs count as one space, and spaces at the start and end of each line are dropped. Indentation and trailing-space changes then no longer count. Whitespace added inside a word still does: ab against a b is a change.
Should I use side by side or unified view?
Side by side puts the original on the left and the changed text on the right, which suits a wide screen. Unified is one column with removed lines above added ones, and it is the default on phones.
What is a unified diff, and where can I use it?
It is the text format of diff -u and Git: --- and +++ header lines, @@ lines with line ranges, and lines starting with a space (unchanged), - (removed) or + (added), with three lines of context by default. Here the files are labelled original and changed. To apply it with patch or git apply, replace the labels with real paths first; git apply removes one leading path component by default (-p1).
Are my texts uploaded?
No. The comparison runs in your browser and nothing is sent to a server. Large comparisons run in a background worker so the page stays responsive.