Text diff

Your input is processed only in this browser. See the privacy policy.

How to use it

  1. Paste the original and the revision into the two boxes. A sample notice is already filled in.
  2. Choose words or characters. Character mode is useful for small edits within Korean, Japanese or Chinese words.
  3. Choose which differences to ignore. Ignore line wrapping joins lines within paragraphs while keeping blank-line boundaries.
  4. Show only changes with a chosen number of context rows, move between changes, and copy the change list or the formatted visible result.

Examples

Review a revised notice

Change “Friday at 2 pm” to “Saturday at 3 pm”, replace a paid entry with free entry, and add a sentence asking visitors to bring a cup. The unchanged venue and deadline provide context.

Input
Entry costs ten dollars.
Result
- Entry costs ten dollars.
+ Entry is free.

Details

The comparison matches lines with the Myers algorithm, then compares words or characters inside changed lines. It compares text rather than meaning. A moved sentence can appear as a deletion at its old position and an insertion at its new one. Repeated sentences may be aligned differently from the way a person would group them, so keep enough context visible to review the result.

Ignore whitespace removes spaces, tabs and other whitespace from comparison keys. Ignore punctuation excludes Unicode punctuation such as commas, periods and quotation marks. Ignore case compares lowercase forms, without language-specific semantic rules. Ignore line wrapping joins lines inside each paragraph and retains blank-line boundaries. It joins adjacent CJK letters without a space and other line endings with a space. Side-by-side output preserves each side’s original text; shared parts in unified output use the revision.

Addition and deletion counts describe continuous highlighted spans. Character counts use Unicode code points, including spaces and newlines. A single visible emoji can count as several characters, although character highlighting keeps grapheme clusters intact. Changed and total line counts refer to aligned output rows; these become paragraph rows when line wrapping is ignored. Similarity is the number of matched characters on both sides divided by the total on both sides after the ignore rules are applied. It depends on alignment and the selected unit and is not a measure of semantic similarity.

Each input supports up to 200,000 UTF-16 code units and 5,000 lines. Some emoji take more than one code unit. Processing runs in a browser worker. Long lines or costly comparisons fall back to whole-line highlighting with a notice; similarity is approximate in that case. Results are paginated at 100 rows, and change navigation crosses pages. The change list includes all changed lines, while formatted copying includes only the currently displayed page. Text is neither sent to a server nor saved in browser storage.

Frequently asked questions

Do ignore options alter my text?

No. They only affect comparison keys. Side-by-side output retains each original; shared spans in unified output show the revised spelling. Ignored differences do not appear in the change list.

When should I use character mode?

Use it for small edits within a word, including Korean endings and text without many spaces. Word mode highlights whole runs of letters and numbers. A button suggests character mode when CJK letters make up much of the sample.

Can I keep the colors when pasting into Word or email?

Copy visible formatting writes HTML and plain text to the clipboard. Editors that accept rich text can retain colors, strikethrough and underlines. If the browser cannot write rich text, the tool copies HTML source as plain text and tells you that it did so.

Why is a moved sentence shown as deleted and added?

Moves are not inferred as a separate operation. Text disappears from one position and appears at another. For very large change blocks, the tool may simplify highlighting to whole lines and display a notice.