YourTools.
English
返回目录
工具

文本差异对比

逐行对比两段文本并标注行号,可下载统一差异格式文本和 JSON 报告。

本地处理

文件只在当前浏览器处理;关闭或清空后不保留。

输入文本

输入或粘贴要处理的文本

调整设置

可调整忽略行首尾空白、忽略大小写、上下文行数

文本差异对比

开始处理

在本机浏览器中处理,可随时取消

请先输入文本

工具介绍

逐行对比两段文本,找出新增、删除和未变的内容,例如比较合同的两个版本、两份配置文件,或程序修改前后的输出。每一处改动的行都会标出行号。

结果包括统一差异格式的 diff.txt,以及统计新增、删除、未变行数的 JSON 报告 diff.json。每段文本最多 2 万行、每行最多 5000 个字符,两段合计不超过 2 MB,全部在浏览器中处理,不上传。

使用步骤

  1. 把旧版本粘贴到“原文本”,新版本粘贴到“修改后的文本”,或点击“使用示例”。
  2. 按需勾选“忽略行首尾空白”“忽略大小写”,并设置“上下文行数”(0 到 10,默认 3)。
  3. 点击“运行”。
  4. 预览 diff.json 和 diff.txt,可以分别下载,也可以打包成 ZIP 一起下载。

格式与限制

输入
文本
输出
JSON、纯文本
大小上限
2 MB
可调设置
忽略行首尾空白;忽略大小写;上下文行数
隐私
文件留在当前浏览器会话中,不上传文件字节。
费用
免费,无需注册

常见问题

能标出一行里具体改了哪个字吗?

不能。工具按整行比较,一行中只要有改动,就会显示为删除一行、新增一行。

“忽略行首尾空白”会忽略哪些空白?

只忽略每行开头和结尾的空格、制表符,因此缩进变化或行尾多出的空格不再算作差异;行内的空格仍会比较。

diff.txt 怎么看?

它采用统一差异格式:以 - 开头的行从原文本中删除,以 + 开头的行是新增内容,以空格开头的是未变的上下文。“@@ -a,b +c,d @@”标出这一段在原文本和修改后文本中的起始行号和行数,“上下文行数”决定每处改动前后保留几行未变内容。

两段文本完全相同会怎样?

diff.txt 为空,diff.json 中 identical 为 true,且不包含任何差异段落。

为什么一大段内容显示为全部删除再全部新增?

当需要新增和删除的行合计超过约 2000 行时,为控制内存占用,工具不再寻找最少的改动,而是把两段文本开头、结尾相同部分之间的内容整体标为删除和新增。