# 文本比较

URL: https://discuvr.org/text-diff/?hl=zh-hans
Last updated: 2026-11-07
MCP tool: `compare_texts`

逐行比较两段文本，查看新增、删除或修改的内容，并高亮显示改动的词。可忽略大小写或空格。不保存任何内容。

合同退回来时带着没人提过的改动。一个配置文件在这台服务器上能用，在另一台上却不行。把两个版本粘贴到这里，逐行看清到底改了什么，改动的词会高亮显示。

## 功能说明

- 逐行比较，新增、删除和修改的行都会标记并编号。
- 在被修改的行内高亮显示改动的词。
- 只关心措辞时，可忽略大小写或多余空格。
- 给出相似度，以及新增、删除和修改的行数。
- 粘贴的内容不会被保存，也不会写入日志。

## 工作原理

1. 把原文粘贴到左侧，修改后的文本粘贴到右侧。
2. 点击比较。
3. 查看标记的行，或交换左右，从反方向查看改动。

## 实例：核对退回的合同

左侧粘贴你发出的版本，右侧粘贴退回的版本。每条改过的条款都会显示为修改行，被改的词高亮，所以付款期限从 30 天改成 45 天，或删掉的责任上限，都一眼可见。每行放一条条款效果最好；如果对方只改了空格或缩进，打开忽略空格，只标出措辞上的改动。

## 比较是如何进行的

文本先逐行比较，所以最好每行一条条款、设置或记录。被修改（而不是新增或删除）的行会两两配对，再比较行内的词，高亮确切的改动。当一行的两个版本合计不超过 1,000 个字符时才做词级高亮，每次比较最多覆盖 50,000 个字符的修改行；更长的行整行标记。每侧最多 200,000 个字符、5,000 行。

## 忽略选项会跳过什么，哪些仍算作改动

"忽略多余空格"会把连续的空格和制表符合并为一个空格，并去掉每行首尾的空白，因此带制表符或行尾空格的行，与用单个空格写出的同样文字视为相同。它不会删除所有空格："ab" 和 "a b" 仍然不同。空行，或只有一侧文本在最后一行之后多出的换行，仍算作新增一行。"忽略大小写"使用 Unicode 大小写折叠，因此 "Straße" 与 "STRASSE" 视为相同。当某个选项掩盖了差异时，该行按修改后文本中的样子显示。Windows (CRLF) 与 Unix 换行视为相同；使用旧版 Mac 换行（仅 CR）的文本会被当作一整行长文本。

## 相似度衡量的是什么

相似度比较的是整行，而不是字符：等于相同行数的两倍除以两侧的总行数。十行中改了一行得到 90%，但只有一行的文本改了一个词会得到 0%，尽管大部分文字都相同。如需按句子衡量，请先把每个句子放在单独一行。在被修改的区块内，改动的行按顺序与另一侧的行配对；如果区块的一侧行数更多，多出的行算作新增或删除。

## 问题

**为什么整段都被标记为修改？**

没有换行的段落就是一行，所以改一个词整行都会被标记。只要这一行的两个版本合计不超过 1,000 个字符，行内改动的词仍会高亮；更长的段落整段标记。先把文本按句子或条款分行，高亮更精确，统计也更有用。

**可以比较 Excel 的两列吗？**

可以。分别复制两列，左右各粘贴一列；每个单元格就是一行。比较按行的顺序进行，所以能看出两个列表从哪里开始不同，以及哪些行是插入或删除的。如果顺序无关紧要，先用大小写转换工具里的 A 到 Z 排序把两个列表排好，这样只会标出真正新增和删除的项。打开 忽略大小写 和 忽略多余空格，即可跳过大小写和多余的空格。如果想直接在 Excel 里检查：=EXACT(A2,B2) 比较同一行的两个单元格并区分大小写（普通的 =A2=B2 不区分大小写），=COUNTIF(B:B,A2)=0 对 A 列中在 B 列找不到的值返回 TRUE。COUNTIF 不区分大小写，并把 * 和 ? 当作通配符，如果它们是数据的一部分，请在前面加 ~。

**可以比较 Word 或 PDF 文档吗？**

从每个文档中复制文字后粘贴。加粗、字体等格式不参与比较，只比较文字和行。

**文本最大可以多大？**

每侧最多 200,000 个字符、5,000 行。

**我的文本会被保存吗？**

不会。两段文本在同一个请求中比较并返回，从不写入数据库或日志。

**可以比较两个 JSON 文件或两段代码吗？**

可以，但比较是逐行进行的，所以压缩成一行的 JSON 会显示为一整行被修改。请先用JSON 格式化工具格式化两个版本（它会保留键的顺序），让每个键各占一行，这样只会标出真正的值变化。代码可以直接比较；如果只改了缩进，请打开「忽略多余空格」。

**如何直接在 Word 或 Google 文档中比较两个版本？**

在 Word 中打开一个文档，选择 Review > Compare > Compare Documents，再选择原始文件和修订后的文件：Word 会打开第三个文档，把每处差异显示为修订标记，包括格式更改。在 Google 文档中打开一个版本，选择 Tools > Compare documents，再选择另一个版本：你的云端硬盘中会生成一个新文档，差异以建议修改的形式显示，使用此功能需要编辑权限。如果两段文字不都是 Word 文件、也不都是 Google 文档，例如邮件里的一条条款对比已签署的 PDF，就用本页：分别粘贴两边，改动的词会高亮显示，且不保存任何内容。

**能识别被移动位置的行吗？**

不能。比较按行的顺序进行，所以被移到别处的行会在原位置显示为删除、在新位置显示为新增，并在两项统计中各计一次。例如：A, B, C 对比 B, C, A，结果是删除 1 行、新增 1 行，相似度 66.7%。如果被移动的行恰好挨着一行被编辑过的行，两者也可能被配对，显示为一行修改。若要确认两个列表不论顺序是否包含相同的行，先用大小写转换工具里的 A 到 Z 排序把两个列表排好。

**如何用命令行比较两个文本文件？**

在 Windows 的命令提示符中，fc /n old.txt new.txt 会列出不同的段落并显示行号；加 /c 忽略大小写，加 /w 压缩空格和制表符。在 macOS 和 Linux 上，diff -u old.txt new.txt 输出统一格式（unified）的差异；diff -i 忽略大小写，diff -b 忽略空白数量的变化。装有 Git 时，git diff --no-index old.txt new.txt 在任何系统上都能用，即使不在仓库里，加上 --word-diff 还会标出改动的词。如果文本不在文件里，比如邮件里的一条条款和 PDF 里的那一条，或者你想不用终端就并排看到高亮的改动词，就用这个页面。

## 更多办公与数据

- [CSV 转 Excel](https://discuvr.org/csv-to-excel/?hl=zh-hans)
- [PDF 签名](https://discuvr.org/sign-pdf/?hl=zh-hans)
- [涂黑](https://discuvr.org/redact/?hl=zh-hans)
- [我的 IP 是什么](https://discuvr.org/what-is-my-ip/?hl=zh-hans)

## 常一起使用

- [大小写转换与行工具](https://discuvr.org/case-converter/?hl=zh-hans)
- [JSON 格式化工具](https://discuvr.org/json-formatter/?hl=zh-hans)
- [字数统计与可读性分析工具](https://discuvr.org/word-counter/?hl=zh-hans)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
