文本对比工具

把两段文字分别贴进左右两栏,自动逐行比对,用颜色标出新增、删除和修改的地方。改稿、对代码、核合同都能用。

原文(旧版本)
新文(新版本)

文本对比工具使用说明

「这两稿到底改了哪几个字?」是写东西的人经常要回答的问题。肉眼逐行看效率低还容易漏,尤其是上百行的代码或者几千字的合同。这个工具用差分算法(diff)自动算出两段文字的最小编辑路径,把每一处增加、删除、修改都标出来。

怎么读懂对比结果

四个选项分别管什么

几个使用建议

对比前先规范一下格式。 如果一边是 Word 复制出来的(带不换行的长段落),一边是纯文本,直接比会整段都标成改动。建议先在两栏里都按段落敲一次回车。

长文本会慢一些。 差分算法的时间复杂度与文本长度相关。本工具对超长文本(几千行以上)会自动退化为更快的近似算法,结果更粗但有参考价值。

结果可以直接抄走。 对比结果区是纯文本渲染的,你可以直接选中复制颜色标记出来的内容,粘到邮件或文档里做说明。

常见问题

为什么我把一整段挪了位置,结果却显示成大量删改?

因为 diff 算法本质上算的是「编辑距离」,它找的是从旧文变成新文最少的操作步骤。把一段内容从第 3 行移到第 20 行,算法看到的是「第 3 行删掉了、第 20 行新增了」,而不是「移动了」。这是所有 diff 工具的共性,Git 的分支对比也一样。如果你的目的是看内容有没有实质性变化(而不是排版位置),可以先把两边的段落顺序都排一遍。

能对比 Word 文档或 PDF 吗?

本工具只处理纯文本。可以先用编辑器的「全选复制」把内容粘进来,或者分别另存为 .txt 再复制。注意 PDF 复制出来的文本经常带奇怪的换行和空格,建议先粘到记事本里清理一下。

内容会不会被上传?

不会。差分算法完全用 JavaScript 写在页面里,你粘贴的文本只存在于浏览器内存中,刷新页面就没了。可以用断网的方式验证——断网后功能照常。

最多能贴多少字?

没有硬性上限,但建议控制在几万行以内。超过这个量,浏览器渲染那么长的对比结果会明显卡顿,体验还不如用本地的专业工具(比如 VS Code 自带的 diff,或者 WinMerge、Beyond Compare)。

「修改」和「一增一删」有什么区别?

取决于算法能不能在两边找到相似的配对。如果左边第 5 行和右边第 5 行有一半以上内容相同,就判定为「修改」,并进一步标出改动的字符;如果两边完全找不到相似的行,就拆成「左边删了一行 + 右边加了一行」。后者在结果上看是一红一绿相邻出现。

相关工具