编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 文本处理 / 文本对比

文本对比

比较两段文本的不同。

文本 A
文本 B
差异

这个工具能做什么

文本对比工具做的事情很直接:把两段文本分别放进上下两个输入框,点一下对比,它会逐行扫描、把内容不一样的行挑出来列给你看。日常改文档、改配置、核对复制粘贴的结果时,肉眼一行行盯着看既慢又容易看漏,尤其两段文本有几百行、差异只藏在其中一两行的时候,人工找差异几乎不可靠。文本比较把这件事自动化,你不用逐字核对,直接看它列出的差异行就知道改动落在哪里。这就是两段文本对比最常见、也最省事的用法。

它的工作方式是先把每一段文本按换行符切成一行行,再一行对一行地做字符串比对:第一行和第一行比,第二行和第二行比,位置相同而内容不同的就判为差异行。这里的比对是逐字符精确匹配,也就是说行尾多一个空格、半角空格换成全角空格、Tab 和空格混用、甚至 UTF-8 下看不见的零宽字符,都会被算作不同。换行符本身也有讲究,Windows 的 CRLF 和 Unix 的 LF 如果被当成文本内容参与比较,可能让相关行显示为差异。理解这套逐行、精确匹配的机制,能帮你看懂为什么有些差异明明肉眼看不出来却被标了出来。

典型场景之一是核对改动。比如你改了一份 nginx 配置或一段代码,想确认到底动了哪几行,把旧版粘上框、新版粘下框,一对比差异行立刻清清楚楚,比翻记录更快。另一个常见场景是核对接口返回:同一个请求先后调两次,把两次的 JSON 或日志文本贴进去对比不同,就能快速看出哪个字段的值变了。还有复制粘贴场景,别人发来的文本你不确定和原稿是不是完全一致,跑一遍文本对比就能确认有没有被悄悄改过。

用的时候有两点要注意。第一,因为是按行位置对齐比较,如果在中间插入或删掉了一行,后面所有行都会往下错位,导致本来相同的行也被当成文本差异全部标出来,这种情况反映的是位置错位而不是内容真的变了。第二,它列出的是这些行不一样,而不是像专业 diff 工具(git diff、Beyond Compare)那样精确标出某行是新增、删除还是行内改了哪几个字符;要做字符级、能自动对齐增删行的差异,这类轻量文本比较只能算快速核对,复杂场景仍建议用专门的 diff 工具。另外所有比对都在你浏览器本地完成、不上传,贴敏感配置也不担心外泄。

文本对比是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“文本对比”、“文本比较”、“两段文本对比”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

支持对比中文、代码和特殊符号吗?
支持,比对针对纯文本进行,中文、代码、标点、Emoji 等任何字符都能逐行比较。它按字符精确匹配,所以中文全角标点和英文半角标点会被视为不同。
为什么两行看起来完全一样却被标成差异?
多半是看不见的字符在作怪,比如行尾多余的空格、Tab 和空格混用、全角空格,或 UTF-8 里的零宽字符。这些肉眼难辨,但精确比对会把它们算作内容不同。
换行符不同(CRLF 和 LF)会影响对比结果吗?
有可能。Windows 用 CRLF、Linux 和 Mac 用 LF,如果换行符差异被计入比较,相关行就可能显示为不同。建议先把两段文本的换行统一再对比。
它和 git diff、Beyond Compare 这类工具有什么区别?
这个工具偏轻量,做的是逐行找出不一样的行,适合随手快速核对。专业 diff 工具能识别行的新增、删除并做行内字符级高亮,还能处理插入行导致的错位对齐,精细比对时更合适。
粘贴进去的文本会上传吗,贴敏感配置安全吗?
不上传,全部对比都在你自己浏览器里用 JavaScript 完成,文本不会发到服务器。贴生产配置、密钥、内部日志这类敏感内容也不用担心外泄。

相关工具

查看全部「文本处理」工具 →