MUTools

Text

Text Diff Checker

Text Diff Checker compares two pieces of text side by side and highlights what was added or removed, at the line, word, or character level. It is a diff tool for quickly spotting differences between the original and revised versions of a document — whether you are proofreading an article, reviewing the wording of a pull request description, comparing two revisions of a contract, or checking how a translation differs from the source.

Diff granularity
Diff result
Enter text on both sides to see the diff here

Your text is processed entirely in your browser and never sent to a server.

About Text Diff Checker

Text Diff Checker compares two pieces of text side by side and highlights what was added or removed, at the line, word, or character level. It is a diff tool for quickly spotting differences between the original and revised versions of a document — whether you are proofreading an article, reviewing the wording of a pull request description, comparing two revisions of a contract, or checking how a translation differs from the source.

Paste the original text into the left pane and the revised text into the right pane. Added segments are highlighted in green, removed segments in red, and unchanged content is shown as-is on both sides. Switching the granularity to "Line" gives you a side-by-side, line-by-line comparison ideal for code or paragraph reviews. Switching to "Word" or "Character" reveals fine-grained changes within the same line, such as punctuation tweaks or a few letters that would otherwise show up as "the whole line changed" in line mode.

You can ignore whitespace, newlines, or case to strip out non-essential differences before comparing. Stats showing the number of lines and characters added or removed are displayed alongside the panes, and you can copy the result as a unified diff string to paste straight into a GitHub pull request, issue comment, or chat message.

The diff itself is computed with the Myers algorithm via jsdiff, and the entire operation happens locally in your browser. No text is ever uploaded or sent to a server, so it is safe to use for confidential drafts, private contracts, or text containing personal information. Runs entirely in your browser.

How to use

  1. Paste or type the two pieces of text you want to compare into the "Old text" and "New text" panes on the left and right.
  2. Choose "Line", "Word", or "Character" from the "Diff granularity" selector at the top.
  3. Toggle the "Ignore whitespace", "Ignore newlines", and "Ignore case" options as needed. ("Ignore newlines" has no effect in line mode.)
  4. The result panel shows the old text on the left and the new text on the right with color highlights — green for additions, red for removals, no color for unchanged content.
  5. Check the stats above the panes to see how many lines and characters were added or removed.
  6. Click "Copy unified diff" to copy the result as a unified diff string and paste it straight into a GitHub PR comment, issue, or chat thread.

Use cases

  • Writers and editors comparing an article or draft before and after proofreading to share revisions with collaborators.
  • Developers reviewing the wording of PR descriptions, README files, or release notes before publishing.
  • Business users polishing an email or proposal draft and presenting the changes to a manager or client.
  • Legal and operations teams comparing successive revisions of a contract, terms of service, or internal policy document.
  • Localization teams comparing source and translated text, or post-edited machine-translation output against the raw MT.

Notes

  • Diffs are computed with jsdiff (the Myers algorithm) and every step runs locally in your browser — nothing is uploaded.
  • Line mode pairs corresponding lines on the left and right precisely. Word and character modes do not align lines; they color the differences inline within each pane.
  • Unicode emoji and ligatures are compared by code point rather than by grapheme cluster in character mode. When comparing text that contains emoji, the word or line mode is more reliable.
  • Comparing several megabytes of text in character mode is computationally expensive and may make the browser unresponsive. For long documents, start with line mode and drill into specific sections with word or character mode as needed.
  • The "Copy unified diff" output is a minimal form that prefixes each line with "+", "-", or " " — file name headers (--- / +++) are not included.
  • Combining "Ignore whitespace" and "Ignore newlines" can hide formatting-only differences, but it may also hide meaningful changes. For a final review, turn the options off and re-run the comparison.

FAQ

Is my text sent to a server?
No. The diff calculation, color highlighting, and copy actions all happen locally in your browser. It is safe to use for confidential drafts, private contracts, or text containing personal information.
Is there a limit on the size of text I can compare?
There is no hard limit, but because everything runs in the browser, comparing several megabytes of text in character mode can make the browser unresponsive. For long documents, start with line mode and use word or character mode only on the sections you need to inspect closely.
Can I use it to diff source code?
Yes. There is no syntax highlighting and whitespace is treated generically. If you want to ignore language-specific formatting differences, run both inputs through a formatter (Prettier, Biome, Black, etc.) before pasting them here.
What is the difference between line, word, and character modes?
Line mode splits on newlines and pairs the lines on the left and right precisely — great for code or paragraph-level review. Word and character modes work at a finer granularity, so small in-line edits (a swapped phrase, a punctuation tweak) that would look like "the whole line changed" in line mode become visible as small inline highlights.
How is this different from the diff view on GitHub?
GitHub's diff is built around commits and files in a repository. This tool compares any two pieces of text on the spot — no account, no repository, no file required. It works for drafts that have no commit history (emails, articles, contract text). The unified diff you copy from this tool also renders correctly when pasted into a GitHub PR comment.