CanDoYa
ZH

文本对比工具免费在线

全程在浏览器中运行,无需上传,无需注册。

原始文本
修改后的文本
差异行: 0
在左右两侧粘贴两个版本的文本,即可逐行查看变化。
粘贴两段文本以逐行逐词进行比较
已添加: 0已删除: 0已更改: 0未更改: 0
分享此工具

什么是文本对比工具?

文本对比工具分析两个版本的文本,并高亮显示它们之间添加、删除或更改的内容。此工具完全在浏览器中运行 Myers diff 算法(与 git 使用的最小编辑算法相同):在左侧粘贴原始文本,在右侧粘贴新版本,即可获得带有行号的左右对比视图、已更改行中的单词级高亮,以及已添加、已删除和未更改行数的统计。

使用方法

  1. 1粘贴原始文本. 将原始文本粘贴到左侧框中。可以是一句话、一段话或数千行 - 对比在浏览器中运行。
  2. 2粘贴修改后的版本. 将新版本粘贴到右侧框中。左右对比视图在您输入时实时更新,在已更改的行上显示行号和单词级高亮。
  3. 3过滤干扰. 如果大小写或空白差异不重要,请开启相应选项。使用交换左右翻转比较,或使用复制为补丁复制仅包含更改的统一 diff。

适用人群

对比在您输入时实时运行,并保留在您的设备上 - 无需上传任何内容,因此对未发布的草稿、合同、源代码和 AI 提示词都很安全。行 diff 使用 Myers 算法找到将左侧文本转换为右侧文本所需的最小插入和删除集合 - 与 git diff 使用的方法相同 - 因此高亮显示的是实际发生变化的内容,而不是从第一次编辑起就将所有内容标为红色。对于原地更改的行,第二次单词级扫描会找出变化的单词,在删除的内容上显示删除线,在添加的内容上显示绿色背景。

两个开关可以减少干扰:忽略大小写HelloHELLO 视为相同,忽略空白会忽略缩进变化、行尾空格和双空格。使用交换左右无需重新输入即可翻转比较方向,或使用复制为补丁获取仅包含更改内容的统一 - / + 补丁。

常见问题

这个文本对比工具免费吗?

是的 - 100% 免费,无需注册,没有字符数限制。对比在您的浏览器中本地运行,即使处理长文本也能保持快速。

我的文本会上传到任何地方吗?

不会。两段文本完全在您的浏览器中进行对比,从不接触服务器,因此对未发布的草稿、合同、源代码和机密 AI 提示词都很安全。

工具如何判断哪里发生了变化?

它使用 Myers 差分算法计算将左侧文本转换为右侧文本的最小编辑脚本。结果是一系列未更改、已删除和已插入的行 - 与 git 使用的模型相同。相邻的删除/插入对会合并为单个「已更改」行,以便左右对比查看,第二次单词级 diff 会识别已更改行内发生变化的确切单词。

「忽略空白」具体忽略什么?

它在比较每行之前将连续的空白字符压缩为单个空格,并去除首尾空白。因此,额外的空行、缩进更改或制表符替换四个空格不会显示为差异 - 单词内的更改仍然会显示。

对比工具支持 Unicode、表情符号和非拉丁文字吗?

支持。行和单词 diff 在 Unicode 字符上运行,因此表情符号、中文、阿拉伯文和西里尔文都能正确比较。没有特定于语言的分词处理 - 工具只是查找匹配的字符。

可以比较大型文本吗?

可以 - 工具能轻松处理数十万字符。对于异常大且完全不同的文本对(两侧各有数百万字符),它会退回到粗粒度的「全部替换」差分,以保持响应速度而不是让页面卡死。

「复制为补丁」会生成什么?

一个简单的统一风格补丁,每行有一个前缀字符:未更改行为空格,已删除行为 '-',已添加行为 '+'。当您想要更改的紧凑文本记录而不是完整的左右对比视图时,可以将其粘贴到聊天、Issue 或代码审查中。

为什么两段相同的文本仍然显示行?

如果开关关闭且文本字节完全相同,结果面板会折叠为「文本相同」消息。启用忽略大小写或忽略空白后,字节级别的文本可能不同,但对比仍报告没有语义更改 - 此时消息会注明文本在所选规则下是相同的。