Text Diff
Compare line changes with optional whitespace and case normalization.
Runs in your browser. Nothing is uploaded.
Compare two documents line by line
Text Diff places two text documents side by side and reports the lines that changed. Paste source code, configuration, logs, release notes, or any other plain text into the left and right editors. The page compares the text locally and keeps the original inputs unchanged.
Use the sample to see a changed line and an added line, then use Copy summary for a compact record of the result. Line labels such as L2 point back to the relevant position in the comparison. For structured JSON,JSON Diff parses values before it compares them and ignores object key order.
Added, removed, and changed lines
An added item exists on the right but not the left. A removed item exists on the left but not the right. A changed item has content on both sides that differs. The badges use separate tones so the change type remains visible at a glance, while the line label and text provide the useful detail.
An empty right editor is valid. If the left side contains text, those lines are reported as removed. If both editors contain the same text, the page shows No differences. The tool does not merge, patch, or write either source automatically.
Whitespace is part of text
By default, plain text comparisons treat spaces, tabs, and capitalization as input. A line that looks the same in a proportional font can still differ because it has extra whitespace or different letter case. CRLF and LF line endings are normalized before comparing. Use the comparison options when whitespace or capitalization should not count as a change.
For a repeatable review, paste both versions from the same source type and keep generated files in their original encoding. If the result is unexpectedly large, first check whitespace, capitalization, and formatting changes before searching for a semantic change.
Private review in the browser
The two texts never leave this browser. Nothing is uploaded, and the copy summary contains only the differences you choose to copy. Review the summary before sharing it because it can include secrets from the source. For a JSON-specific workflow, see JSON Diff; for pattern checks, use Regex Tester.
FAQ
Can I compare dropped text files without uploading them?
Each .txt file is read as text and compared in your browser. Neither document is uploaded, and TheDevTab never receives either input.
How are lines aligned?
The engine uses a longest-common-subsequence comparison to align normalized lines, then reports inserted, removed, and changed blocks. It displays the original line text and does not rewrite either source.
What do added, removed, and changed mean?
Added means a line exists on the right, removed means it exists only on the left, and changed pairs a removed line with an added line in the same change block. The result labels the left-side line number for a changed or removed entry and the right-side line number for an added entry.
What do Ignore whitespace and Ignore case change?
Ignore whitespace removes all whitespace from each line for comparison, while Ignore case lowercases the comparison value. The displayed text remains the original line content.
How are line endings and empty inputs handled?
CRLF line endings are normalized to LF before the lines are split, but other whitespace still matters unless Ignore whitespace is enabled. Empty text becomes an empty line list, so comparing two empty inputs reports no differences.
What are the size limits?
Each side can contain at most 4,000 lines, and the comparison table is limited to 1,000,000 line-pair cells. Larger inputs return an error instead of allocating an unbounded comparison.