跳到正文
EVOA Toolbox

文本差异对比

并排比较两段文本,查看新增和删除的行、词或字符。可将结果复制为统一格式的补丁。

在浏览器中本地处理,你的文本不会被上传。

正在加载工具…

这个工具能做什么

粘贴原始版本和修改后的版本,工具会准确高亮发生了哪些变化。你可以按行比较(类似 git diff),按词比较(最适合文章、合同和文案修改),或按单个字符比较(最适合在很长的标识符中找出一个拼写错误)。新增内容以 + 标记并加下划线,删除内容以 − 标记并加删除线,因此即使没有颜色,结果也清晰可读。

在宽屏上,你会看到两侧都带行号的并排视图;在手机上,同样的改动会显示为单个统一列表。较长的未改动部分会折叠起来,让你只看到带三行上下文的改动,并且可以展开任意折叠。通过忽略空白差异或字母大小写的选项,可以去掉因重新排版或重新大写而产生的干扰。

比较使用 jsdiff 库。统计信息会显示新增、删除和未改动的行数、词数或字符数,以及相似度百分比。你可以把改动复制或下载为标准的统一补丁,用于代码评审、工单或 patch 命令。大型输入会在后台线程中进行比较,因此页面保持响应。

使用方法

  1. 1把原始文本粘贴到左侧,把修改后的文本粘贴到右侧(或点击“示例”)。
  2. 2选择“行”“词”或“字符”,也可以选择忽略空白或大小写。
  3. 3查看高亮的改动和统计信息。你也可以在并排视图和统一视图之间切换。
  4. 4复制统一补丁,或将其下载为 .patch 文件。

支持的格式

任何语言的纯文本。补丁输出使用统一 diff 格式,git、patch 和大多数评审工具都能识别。

隐私

此工具在你的浏览器中运行。你提供的数据在你的设备上处理,不会发送到我们的服务器。

限制

  • 两段输入合计超过约 1 MB 时会先请求确认;非常大或差异非常大的文本可能耗时很久,并可能因过于复杂而被中止。
  • 差异只针对文本计算。二进制文件、格式和图片不会被比较。
  • 移动的块会显示为一处删除加一处新增;该算法不会检测移动。
  • 统一补丁始终记录真实的差异,因此“忽略大小写”选项不会应用到补丁上。
  • 为保持页面流畅,一次只绘制前 3,000 行;对于超大的差异,请有选择地展开折叠。

常见问题

“行”“词”“字符”三种模式有什么区别?

行模式会把整行标记为已更改,类似 git diff。词模式只高亮句子中发生变化的词。字符模式能精确定位单个字母的改动。统计信息使用相同的单位。

结果能配合 git 或 patch 使用吗?

可以。复制的文本是统一 diff,文件名为“original”和“modified”,带三行上下文。如果你的工具需要真实路径,请改一下头部。

为什么忽略空白会有帮助?

重新缩进或重新折行会改变很多行,但含义不变。启用该选项后,仅在空格或制表符上有差异的行会被视为未改动。

我的文本会被上传到什么地方吗?

不会。比较在你的浏览器中进行,大型输入则在后台 worker 中处理。

相关工具