UPTools UPTools

Diff 文本对比工具

在线对比两段文本差异,高亮显示新增和删除

本工具在浏览器本地运行,不会上传你的数据,保护你的隐私安全。
旧文本
1
新文本
1

这是什么工具?

Diff 文本对比工具可以对比两段文本的差异,高亮显示新增、删除和修改的内容。支持逐行对比和逐字对比,可忽略空格和大小写。支持上传文本文件进行对比。所有对比在浏览器本地完成,不上传任何内容。适用于代码对比、配置文件比较、文档版本对比等场景。

如何使用?

  1. 1 在左右两个输入框分别粘贴旧文本和新文本
  2. 2 选择对比模式(逐行或逐字)
  3. 3 可勾选忽略空格或忽略大小写
  4. 4 点击「开始对比」查看差异高亮结果

常见问题

文本会上传到服务器吗?

不会,文本对比在浏览器本地完成。

支持代码对比吗?

支持,可以粘贴代码进行差异对比。

可以忽略空格吗?

可以,支持忽略空格和空行、忽略大小写。

适用场景与示例

  • 对比代码或配置文件修改前后的内容,快速定位改了几行、改了什么
  • 比对接口两次返回的数据,排查字段值是否发生变化
  • 校对文档两个版本的差异,确认修订内容
  • 核对复制粘贴的长文本是否与原文完全一致

输入

旧:line1 / line2 / line3 新:line1 / line2 改 / line3

输出

高亮标记第 2 行为「修改」

💡 逐行模式按整行对齐,逐字模式细化到字符级差异。

原理与常见错误

文本对比的核心是最长公共子序列(LCS)算法:找出两段文本按顺序保留的最长公共部分,剩余的即被判定为新增或删除。逐行 diff 把每行当作一个比较单元,逐字 diff 则把每个字符当作单元,颗粒度更细但计算量更大;工业实现常用 Myers 差分算法,把问题高效转化为图上的最短路径搜索。两个常用选项会影响结果:忽略空格会先对空白做归一化再比较,避免缩进或行尾空格造成干扰;忽略大小写则在比较前统一大小写。需要注意行级 diff 是按顺序匹配的,对「整段文字被移动到别处」这种情况,它通常会报告成「一处大段删除 + 另一处大段新增」,而不是识别成「移动」,这是行级算法的固有局限。

⚠️ 几乎每行都报差异

多半是换行符不一致(CRLF vs LF),先统一换行符再对比。

⚠️ 缩进或行尾空格的改动淹没了真实修改

勾选「忽略空格」选项。

⚠️ 整段移动被报告成大段增删

这是行级 diff 的局限,需要人工判断是否为位置移动。

⚠️ 超大文件对比卡顿

算法复杂度随规模上升,可分段对比或改用专业 diff 工具。

参考与更新

最后更新:2026-06-23

相关工具