免费工具 在线文本对比(两段文字找不同)
改过的文案、改版前后的 robots.txt、统计代码的配置,粘贴到左右两个框里,马上标出哪一行新增、哪一行删除、行里改了哪几个字。可以按行、按词或按字符比,忽略空格和大小写,结果能下载成标准的 .diff 文件。
- 并排 / 合并两种视图
- 上万行也不卡
- 本地对比
比较两段文字
左边放原文,右边放修改后的文字,结果实时更新。点上方按钮可以换示例,或把两边互换。
新增
2
按当前比较单位计:按行是行数,按词是词数,按字符是字符数。
删除
2
原文有、新文没有的部分。
未变
2
两边一样的部分(勾了忽略空白 / 大小写时,按忽略后的结果)。
相似度
50.0%
2 × 未变 ÷(原文 + 新文),和 Python difflib 的 ratio 同一个算法。
对比结果
删除新增
| 1 | 双 11 预售今晚 8 点开始 | 1 | 双 11 预售今晚 8 点开始 |
| 2 | 全场满 300 减 | 2 | 全场满 300 减 60,会员再享 9 折 |
| 3 | 下单后 | 3 | 下单后 24 小时内发货,偏远地区除外 |
| 4 | 客服在线时间:9:00–21:00 | 4 | 客服在线时间:9:00–21:00 |
--- a
+++ b
@@ -1,4 +1,4 @@
双 11 预售今晚 8 点开始
-全场满 300 减 50,会员再享 95 折
-下单后 48 小时内发货
+全场满 300 减 60,会员再享 9 折
+下单后 24 小时内发货,偏远地区除外
客服在线时间:9:00–21:00
和 diff -u、git diff 同一种格式,可以保存下来或贴进工单。
版本 v1.0更新于 更新记录
红色是删掉的,绿色是加上的
左右并排时,左边是原文、右边是新文,同一行的改动放在同一排;合并视图把删除行和新增行上下排在一起,适合窄屏。
整行底色
浅红底的行在新文里没有了,浅绿底的行是新加的。一行里只改了几个字时,左右两行会对齐放在一排。
行内深色标记
对齐的两行再按词比较一次,真正改动的字用深一点的颜色标出:上面的示例里「50」→「60」、「95 折」→「9 折」、「48」→「24」。
按词、按字符
文章、文案改稿用「按词」:英文按单词,中文按字比较,标点单独算。要逐字找不同(比如核对两份合同、两个序列号)用「按字符」。
相似度
两段文字有多少比例是相同的,100% 就是完全一样。只用来快速判断改动大小,不是查重:重新排序的段落会被当成删除 + 新增。
对比结果只在你的浏览器里计算,适合拿来对比内部文案、配置文件,不用担心内容外传。
三步看清改了什么
最常见的场景:网站改版前后的 robots.txt、新旧两版落地页文案、统计代码或接口的配置。
-
1
粘贴两版文字
左边旧版、右边新版。贴反了就点「左右互换」。
-
2
选比较方式
代码、配置、清单按行比;文章按词比;只改了一两个字、逐字核对用按字符。缩进、空格不算改动时勾「忽略空白差异」。
-
3
看结果,必要时导出
改动太多时只看「改动附近」;要留档或发给同事,下载 .diff 补丁,能用
git apply/patch打到文件上。
最少的增删把旧文变成新文
文本对比找的是「最长公共子序列」:两边都有、而且顺序相同的部分保留,其余标成删除或新增。
- 按行比较用 Myers 差异算法(E. W. Myers,1986,git diff 的默认算法也是它),先去掉开头和结尾相同的部分再比
- 两份文本差别非常大时,改用 patience 思路:以两边都只出现一次的行为锚点分段,再逐段比较,所以一万行以上的文本也能在一瞬间出结果
- 按词 / 按字符时,先按行对齐,只在改动过的行里再细分,长文也不会退化成「整段删除 + 整段新增」
- 「忽略空白」只影响比较,显示的仍是原文;相同的行显示新文的写法
| 单位 | 怎么切分 | 适合 |
|---|---|---|
| 按行 | 每个换行算一行 | robots.txt、sitemap、配置、代码、关键词清单 |
| 按词 | 英文按单词、数字整体算一个,中文按字,标点和空白单独算 | 文章、广告文案、产品描述 |
| 按字符 | 用户看到的每个字符(emoji 不拆开) | 合同条款、编号、密钥这类逐字核对 |
活动文案改了哪几处
本页默认示例:同一条双 11 活动文案的两个版本,按行对比。
| 行 | 原文 | 新文 | 结果 |
|---|---|---|---|
| 1 | 双 11 预售今晚 8 点开始 | (相同) | 未变 |
| 2 | 全场满 300 减 50,会员再享 95 折 | 全场满 300 减 60,会员再享 9 折 | 改动:50 → 60,95 → 9 |
| 3 | 下单后 48 小时内发货 | 下单后 24 小时内发货,偏远地区除外 | 改动:48 → 24,加了「,偏远地区除外」 |
| 4 | 客服在线时间:9:00–21:00 | (相同) | 未变 |
按行统计:新增 2 行、删除 2 行、未变 2 行,相似度 = 2 × 2 ÷(4 + 4)= 50%。改动的行按删除 + 新增各算一次,所以只改了几个字,行数上也是「删 1 加 1」。
对比结果「看起来不对」时
多数时候不是算法错了,而是两边的格式不一样。
换行符或空格不同
Windows 的换行(CRLF)这里已经统一处理;行尾空格、Tab 和空格混用会被算成改动,勾「忽略空白差异」即可。
原文新文贴反了
删除和新增会整个颠倒。点「左右互换」,不用重新粘贴。
整段移动被当成删除加新增
文本对比按顺序比较,段落挪了位置会显示成一处删除、一处新增。这是正常结果,不是漏比。
压缩成一行的代码
压缩过的 JSON、JS 只有一行,按行比只能看到「整行改了」。先用 JSON 格式化或代码格式化展开,再按行比。
改了配置以后,用数据确认效果
文本对比告诉你改了什么,统计数据告诉你改完之后发生了什么。
怎么在线对比两段文字的不同?
把原文粘贴到左边、修改后的文字粘贴到右边,结果会立刻显示:浅红底的是删掉的行,浅绿底的是新加的行,行里具体改动的字用深色标出。不用点按钮,也不用注册。
在线文本对比会上传我的内容吗?
不会。对比在你的浏览器里完成,两段文字不进网址、不发给 TapCub,关掉页面就没有了。合同、内部文案、配置文件都可以放心比。
按行、按词、按字符有什么区别?
按行适合代码、配置、清单,一行有改动整行标出;按词适合文章和文案,英文按单词、中文按字比较;按字符逐个字符找不同,适合核对编号、合同条款。
能比较多大的文本?
一万行以上的文本也能在一瞬间出结果:算法先去掉相同的开头结尾,差异很大时按唯一行分段比较。页面上最多画出 3,000 行,完整结果可以下载 .diff 文件。
怎么忽略空格和大小写的差别?
勾选「忽略空白差异」:行首行尾的空格去掉、连续空格当成一个;勾选「忽略大小写」:A 和 a 当成一样。这两项只影响比较,显示的仍然是原文。
下载的 .diff 文件怎么用?
它是统一格式(unified diff),和 diff -u、git diff 输出的格式一样,可以贴进工单、代码评审,或用 patch、git apply 打到原文件上。
能对比 Word、PDF 文件吗?
目前只比较纯文本。把 Word、PDF 里的文字复制出来粘贴进来即可;格式(字体、颜色)不参与比较。