文本对比

逐行比较两段文本,用绿加红删高亮新增、删除与相同内容。

原文
对比文本
新增 2删除 2
11 第一行
2-第二行
2+第二行改
33 第三行
4-第四行
4+第五行

文本对比

改过一版的东西和原版差在哪,肉眼一行行对既慢又容易漏。文本对比把两段文字按行做最长公共子序列比较,相同的留白、新增标绿加 +、删除标红减 -,让差异一眼可见。

适合核对两份配置或文案的改动、比较合同改稿前后、检查代码片段两版区别、验证复制粘贴有没有丢行。左框放「原文」、右框放「对比文本」,下面即时出结果。

结果区每行左侧有行号、中间是 +、- 或空格的标记,右侧文字按类型上色:新增绿底、删除红底。右上「新增 N / 删除 N」给出行数统计。

怎么用

  1. 放两段文本在左「原文」框放旧内容、右「对比文本」框放新内容(两框已预置一段示例,替换即可)。
  2. 看高亮下方结果即时刷新:两边一样的行正常显示,只在右边出现的行标绿带 +(新增),只在左边出现的行标红带 -(删除)。
  3. 只看差异勾「只看差异行」把完全相同的行折叠掉,结果里只剩新增和删除,改动多、相同少时更清爽。
  4. 读计数勾选框右侧显示「新增 N」「删除 N」两个数,快速了解这版比原版多了几行、少了几行。

示例

输入
原文:第一行 / 第二行 / 第三行 / 第四行;对比文本:第一行 / 第二行改 / 第三行 / 第五行
输出
删除 第二行、新增 第二行改、删除 第四行、新增 第五行(新增 2 · 删除 2)

改一个字会被算成整行删除加整行新增;第一行、第三行两边相同,勾「只看差异行」时不列出。

深入一点

按整行比较,不做行内字符

一行里改了任何一个字,结果是「删掉旧行 + 新增新行」两行,而不是把改动的字单独标出来。要看细粒度差异得逐字比对,这页达不到。

想把两段先整理成规整的行(去空行、去重、统一大小写)再比,可以先在文本处理工具里各过一遍,再粘回这两个框。

想快速确认两段是不是一模一样,看新增和删除两个计数是否都为零,比逐行扫一眼更省事;如果只是核对某一句还在不在,照着加减标记和行号定位即可,不必通读全文。

顺序变了会被当成删加

把中间两行调换顺序,比较器可能报成先删后增,而不是「移动」。它只认哪些行在两边都出现,不追踪行被挪去了哪里。

所以它更适合回答改了哪些内容,而不是精确还原每一步编辑动作,比如到底是删了又插回、还是整块挪了位置。真要精确到词,得另找逐字比对的工具。

行号是各自文本里的位置

结果每行的行号取自它所属的那一侧(新增看右框、删除看左框),方便你回到原文定位;不是全局连续编号。

正因为行号各按各的框,删除行只有左侧号、新增行只有右侧号;勾「只看差异行」时相同行的号也不显示,方便你直接对着原文改。

要动手改原文时,照着这些号回到对应那一行就行,不用自己从头一行行数过来。

注意事项

  • 全在浏览器本地比较,两段文本都不上传。
  • 用的是最长公共子序列算法,文本很大(上万行)时会更慢、也更占内存。
  • 空行、纯空格行也参与比较,两个空格不等于相同。
  • 行尾换行符差异(Windows 与 Unix 的换行)会被统一按行切,不当作差异。
  • 两个框是即时双向比较,改任意一边结果都跟着变,没有需要点的比较按钮。
  • 高亮只区分新增、删除、相同三类,不额外标注某行是被移动还是重排。

常见问题

能高亮到具体的字吗

不能,比较粒度是整行,行内改动会显示成一行删一行增。

为什么改一个字却显示删+加两行

因为按整行比,只要那行文本不完全一致就算删旧增新。

两段完全一样会怎样

结果区显示「两段文本完全相同」,新增和删除计数都是 0。

支持忽略大小写吗

不支持,比较区分大小写与前后空格,A 和 a 会被当成差异。

大文件能比吗

能,但很大时比较表会明显变慢变占内存,超长文本建议先分段。

顺序调换了它认得吗

不认移动,只会把变化显示成删除加新增,即使内容其实在别处还在。

能把差异结果导出或复制吗

这页没有导出按钮,结果区可以直接选中复制。要留档就手动拷走高亮文本,或记下新增和删除的行号回原文件定位。

一段很长、行很多会不会卡

会。比较要用一张与两侧行数乘积成正比的表,上万行时明显变慢、也更吃内存,建议先切块再逐块比。

为什么空格和缩进的变化也算差异

比较按整行逐字符进行,空格、制表符都算内容,缩进一改这行就不同,于是被记成删一行加一行。

能忽略空行或末尾换行吗

不能自动忽略;末尾多一个换行会多出一行差异。想清爽就先各自去空行(可配文本处理工具的删空行)再拿来比。

注册后可收藏工具、跨设备同步最近使用。