文本差异对比
逐行对比两段文本并标注行号,可下载统一差异格式文本和 JSON 报告。
本地处理
文件只在当前浏览器处理;关闭或清空后不保留。
输入文本
输入或粘贴要处理的文本
调整设置
可调整忽略行首尾空白、忽略大小写、上下文行数
开始处理
在本机浏览器中处理,可随时取消
工具介绍
逐行对比两段文本,找出新增、删除和未变的内容,例如比较合同的两个版本、两份配置文件,或程序修改前后的输出。每一处改动的行都会标出行号。
结果包括统一差异格式的 diff.txt,以及统计新增、删除、未变行数的 JSON 报告 diff.json。每段文本最多 2 万行、每行最多 5000 个字符,两段合计不超过 2 MB,全部在浏览器中处理,不上传。
使用步骤
- 把旧版本粘贴到“原文本”,新版本粘贴到“修改后的文本”,或点击“使用示例”。
- 按需勾选“忽略行首尾空白”“忽略大小写”,并设置“上下文行数”(0 到 10,默认 3)。
- 点击“运行”。
- 预览 diff.json 和 diff.txt,可以分别下载,也可以打包成 ZIP 一起下载。
格式与限制
- 输入
- 文本
- 输出
- JSON、纯文本
- 大小上限
- 2 MB
- 可调设置
- 忽略行首尾空白;忽略大小写;上下文行数
- 隐私
- 文件留在当前浏览器会话中,不上传文件字节。
- 费用
- 免费,无需注册
常见问题
能标出一行里具体改了哪个字吗?
不能。工具按整行比较,一行中只要有改动,就会显示为删除一行、新增一行。
“忽略行首尾空白”会忽略哪些空白?
只忽略每行开头和结尾的空格、制表符,因此缩进变化或行尾多出的空格不再算作差异;行内的空格仍会比较。
diff.txt 怎么看?
它采用统一差异格式:以 - 开头的行从原文本中删除,以 + 开头的行是新增内容,以空格开头的是未变的上下文。“@@ -a,b +c,d @@”标出这一段在原文本和修改后文本中的起始行号和行数,“上下文行数”决定每处改动前后保留几行未变内容。
两段文本完全相同会怎样?
diff.txt 为空,diff.json 中 identical 为 true,且不包含任何差异段落。
为什么一大段内容显示为全部删除再全部新增?
当需要新增和删除的行合计超过约 2000 行时,为控制内存占用,工具不再寻找最少的改动,而是把两段文本开头、结尾相同部分之间的内容整体标为删除和新增。
相关工具
文本美化
在中文与英文、数字之间加空格,并可改用中文标点、整理段落与多余空格。
大小写与命名风格转换
逐行转换字母大小写,或把短语与标识符转为驼峰、帕斯卡、下划线、短横线或常量命名。
文本行处理(去重、排序、过滤)
一次完成去除首尾空白、删除空行与重复行、统计重复次数、按长度过滤、排序(含自然顺序与拼音顺序)以及添加前后缀。
汉字转拼音
将汉字转为带声调、数字声调或无声调的拼音,根据词语判断多音字;也可只取首字母或输出拼音注音。
标点符号转换
把文本中的标点全部转为中文全角或英文半角标点,数字、时间与链接中的符号保持不变。
正则查找替换
用 JavaScript 正则表达式替换或提取文本;在隔离 Worker 中运行并设有硬性时限。