What this tool does
Paste two versions, run a line-based diff, and copy the result with selected text processed locally in your browser.
Privacy behavior
Selected inputs are processed locally in your browser for this workflow. The public site may load ads and analytics; use the privacy build for privacy-sensitive workflows.
Supported workflow
Use the controls on this page, review the output in your browser, then copy or download the result.
When should you use a diff checker?
Diff checking helps review edits, compare snippets, inspect configuration changes, and debug text output before sharing or deploying.
This tool uses a simple line-based comparison and renders text safely as text, not raw HTML.
How the line-based diff works
This tool compares two texts using a longest common subsequence, or LCS, dynamic-programming algorithm at line granularity, the same family of algorithm behind the Unix diff command. Both texts are split into lines, with \r\n and \r line endings normalized to \n first. A table sized to the number of lines in each text is filled in to find the longest sequence of lines that appears, in order, in both versions; every line not part of that shared sequence is then marked as removed, from the original side, or added, on the changed side.
The result is a minimal edit script measured in whole lines, not characters or words: a single-character change on an otherwise identical line still marks that entire line as one removed line and one added line, since the comparison unit is the line, never a substring within it.
| Option | Changes equality for comparison | What the output still shows |
| Default | Exact line-by-line string equality | Original text, unchanged |
| Ignore case | Both lines lowercased before comparing | Original casing, exactly as typed |
| Ignore whitespace | Each line trimmed, internal whitespace runs collapsed to one space | Original spacing, exactly as typed |
Both toggles only change which lines count as equal while building the shared sequence; the rows rendered on screen and in the copyable output always show the original text from whichever side they came from, never the normalized version used for comparison.
Worked example
The Sample diff button loads a five-line original and a six-line changed version differing in one value and one added line:
Original: Changed:
name: ConvertUnlimited name: ConvertUnlimited
status: draft status: live
locale: en locale: en
emoji: hello emoji: hello
city: Bangkok city: Bangkok
updated: 2026-05-12
Comparing them produces:
name: ConvertUnlimited
- status: draft
+ status: live
locale: en
emoji: hello
city: Bangkok
+ updated: 2026-05-12
The summary line reads 2 added, 1 removed, 4 unchanged. Only the status line and the new updated line differ; the other four lines match exactly and are shown once, not duplicated on both sides.
Frequently Asked Questions
Is this Diff Checker free?
Yes. You can compare, copy, and clear text without signup.
Is my text sent to ConvertUnlimited servers?
No server-side upload endpoint is used for comparison; text is processed locally in your browser.
What kind of diff is used?
The tool uses a line-based diff that marks added, removed, and unchanged lines.
Can it ignore whitespace or case?
Yes. Use the toggles before comparing.
Does it support Unicode?
Yes. Unicode text and emojis are handled as browser strings.
Does it highlight the exact word or character that changed?
No. Comparison happens at the line level, so a one-character change marks the whole line as removed and re-added rather than underlining the specific character.
Is there a size limit for comparisons?
Yes. Comparison is skipped if the two texts combined exceed 200,000 characters, or if the line count on one side multiplied by the other exceeds 250,000.
Why does a reformatted paragraph show as fully changed even though the words are the same?
The diff compares whole lines. If line breaks moved but the words did not change, the line boundaries no longer match, so the paragraph can appear as fully removed and re-added even though its wording is identical.
Privacy Policy
ConvertUnlimited does not provide a server-side upload endpoint for this text comparison flow. Text is processed locally in your browser.
Terms of Use
ConvertUnlimited is provided as is. Review diff output before using it in production workflows.
Trust and privacy
Files are processed locally where supported. Review the Trust Center for the processing model and the Privacy Policy for public-site privacy boundaries.