文本
文本差异检查器
文本差异检查器是将两段文本左右并排显示,并以颜色高亮新增、删除部分的 diff 工具。可在行、单词、字符三种粒度间切换,适用于稿件改稿前后比较、代码审查前的文案对照、合同改订版核查等需要快速把握文本差异的场景。
差异结果
在左右两侧输入文本后,差异将在此显示
您输入的文本全程在浏览器中处理,不会发送到服务器。
相关工具
文本差异检查器是什么?
文本差异检查器是将两段文本左右并排显示,并以颜色高亮新增、删除部分的 diff 工具。可在行、单词、字符三种粒度间切换,适用于稿件改稿前后比较、代码审查前的文案对照、合同改订版核查等需要快速把握文本差异的场景。
将原文本粘贴到左侧、新文本粘贴到右侧,新增部分会以绿色高亮,删除部分以红色高亮,未变更部分按原样显示。粒度选择"行"时适合按行查看差异,选择"单词"或"字符"时则可看清同一行内的细微修改(助词替换、标点添加等),不会让小改动看起来像"整行被替换"。
可通过"忽略空白""忽略换行""忽略大小写"等选项,排除非本质差异后再进行比较。差异统计(新增/删除的行数与字符数)与文本一同显示,并可一键将差异以 unified diff 格式复制到剪贴板,直接粘贴到 GitHub Pull Request、Issue 评论或聊天工具中。
差异计算内部使用 jsdiff(Myers 算法),所有处理全程在您的浏览器中完成。文本不会被上传或外发,可放心用于保密稿件、私密合同或包含个人信息的文本比对。全程在浏览器中完成。
使用方法
- 在左右两个输入框"原文本"与"新文本"中,输入或粘贴需要比较的两段文字。
- 在顶部"差异粒度"中选择"行""单词"或"字符"。
- 按需切换"忽略空白""忽略换行""忽略大小写"选项("忽略换行"在行模式下不生效)。
- 结果区将左侧显示原文本、右侧显示新文本,并以绿色表示新增、红色表示删除、无色表示未变更。
- 查看结果区上方的统计信息,确认新增与删除的行数和字符数。
- 点击"复制 unified diff"按钮,将差异以 unified diff 字符串形式复制,可直接粘贴到 GitHub PR 评论或审查信息中共享。
使用场景
- 撰写者与编辑在校对博客文章或稿件前后比较文本,与协作者共享修改内容。
- 开发者在代码审查前对 PR 说明、README、发布说明的文案进行比较。
- 业务人员推敲邮件或提案的草稿,并将改订版与上司或客户对照说明。
- 法务、行政人员核对合同、用户协议、内部文档的改订版差异。
- 本地化人员比较翻译前后、机器翻译与人工译后的文本。
注意事项
- 差异计算使用 jsdiff(基于 Myers 算法),所有处理全程在您的浏览器中完成,不会发送到服务器。
- "行"模式按行精确对齐左右两侧。"单词""字符"模式不进行行对齐,仅在各窗格内对连续差异进行行内着色。
- Unicode 表情符号与连字在"字符"模式下按代码点而非字素簇处理,因此包含表情符号的比较推荐使用"单词"或"行"模式。
- 在"字符"模式下比较数 MB 以上的超长文本时计算量较大,可能导致浏览器响应变慢。长文本建议先从"行"模式开始。
- "复制 unified diff"输出的字符串采用最简形式,在行首添加"+""-"" "前缀,不包含文件名头(--- / +++)。
- 同时开启"忽略空白""忽略换行"虽可消除仅格式不同的差异,但也可能漏掉本质上的变更,最终确认时建议关闭所有选项再比较一次。
常见问题
文本会被发送到服务器吗?
不会发送。差异计算、着色与复制处理全程在您的浏览器中完成。可放心用于保密稿件或包含个人信息的文本比较。
可比较的文本长度是否有上限?
没有明确上限,但因所有处理都在浏览器中进行,在字符模式下比较数 MB 以上文本时响应可能变慢。长文本建议先用"行"模式进行整体比较,仅对需要细查的部分再切换到"单词""字符"模式。
可以用于源代码 diff 吗?
可以。但本工具不进行语法高亮,空白处理也是通用 diff 的方式。如希望吸收语言特有的格式器差异,请先用 Prettier、Biome、Black 等格式器处理后,再用本工具比较。
"行"与"单词""字符"模式有何区别?
"行"以换行为单位取差异,并在左右窗格中精确对齐行,适合代码或段落级比较。"单词""字符"以更细粒度取差异,可显示同一行内的助词替换、标点变更等微小差异,而这些在"行"模式下会被显示为"整行被替换"。
与 GitHub 的 diff 有何不同?
GitHub 的 diff 用于按文件、按行显示仓库的提交差异。本工具专注于即时比较任意两段文本,无需登录、无需文件,也可比较没有提交历史的文本(邮件草稿、稿件、合同文案等)。复制的 unified diff 粘贴到 GitHub PR 评论中后也会带颜色高亮显示。