文本对比(Diff)

在线对比两段文本的差异:行级对齐、unified diff 输出、可调上下文行数、可忽略大小写。浏览器内完成,文本不上传。

文件不上传 .txt、.md、.json、.csv、.log、.xml、.yaml、.yml 单文件最大 10MB
文本 A
文本 B

参数

每处差异前后保留多少行未改动的原文。

这个工具做什么

文本对比(diff)把两段文本按行对齐,标出哪些行被删除、哪些行被新增、哪些行原样保留——适用于审阅配置改动、核对两份代码/日志/JSON 的差异,或确认一次复制粘贴有没有出错。

输出是标准 unified diff 格式(就是 git diff 那种 +/- 行),可以直接贴进代码评审、工单或文档。整个过程在浏览器内完成,文本不上传。

如何使用

  1. 粘贴两段文本 左栏是改动前(A),右栏是改动后(B)。顺序反了点「交换」即可。
  2. 按需调整参数 「上下文行数」决定每处差异前后带多少行原文,方便看懂位置;比较大小写无关的内容(如配置键名)可打开「忽略大小写」。
  3. 复制或下载结果 结果可直接复制为纯文本,也可下载 .txt 文件。带 +/- 前缀的行就是差异所在。

常见问题

和 git diff 一样吗?

格式一致(unified diff),但本工具不依赖仓库,也不做 git 的移动检测等启发式;适合临时对比两段任意文本。

空行差异会被忽略吗?

不会。空行也是行,增删空行会如实标出;「忽略大小写」只影响字母大小写,不影响空白。

最多能对比多大的文本?

单侧最大 10MB、3000 行。LCS 算法的内存随行数平方增长,这是保证页面不卡的安全边界。

能对比两个文件吗?

把文件内容粘贴进两栏即可(.txt/.md/.json/.csv/.log 都是文本)。二进制文件会被拒绝并提示。

结果可以直接打 patch 吗?

格式与 patch 工具兼容,但文件名是 left.txt/right.txt 这样的占位名;要真正打补丁需要在 git 中操作。

文本会被上传吗?

不会。对比在浏览器 Worker 内完成,内容不出设备。

限制与边界

单侧最大 10MB、3000 行;更大的文本请先截取相关段落。

只做行级对比:不做字符级 / 词级 diff,不做 side-by-side 双栏渲染。

含 NUL 字节的二进制内容会被拒绝;输出为 unified diff 文本,不渲染 HTML。

相关工具