文本对比 — 在线 Diff 检查器
三步完成文本对比
无论你在排查配置变更,还是在审阅合同条款,文本对比只需几秒。
粘贴原始文本与修改文本
把原始版本放进左栏,修改版本放进右栏。工具接受任意纯文本——源代码、JSON、YAML、XML、SQL、Markdown、CSV、shell 脚本、配置文件。整个过程不上传,两段输入都留在你的浏览器里。
点击“开始对比”
差异不会在你每次敲键时自动跑——它在你点“开始对比”时才执行。这样得到的是一次明确、可复现的结果,而不是随着输入不断跳动的视图。对比在你本机毫秒级完成。
阅读高亮差异
绿色标新增,红色标删除,修改行再做一次字符级处理,把行内的具体改动精确高亮。行级阶段先把两段文本对齐,字符级阶段再定位每行里到底改了什么——对合同、代码、配置这种“一词之差”的场景尤其有用。如果你要对比的其实是两列数值,也可以直接并排对比两列。
这款文本对比工具实际能做什么
六项具体能力——不注册、不安装,全部在浏览器里跑。
修改行做字符级 diff
当一行发生变化,工具不会只标出整行。它会在这一行内部再做一次字符级处理,精确高亮被新增、删除或替换的词或符号。你看到的是改动本身,而不只是一整行。
四种清晰的差异状态
每一行都属于四种状态之一——相同、修改、新增(绿)、删除(红)。颜色本身就是审计轨迹。什么移动了、什么加了、什么删了,一眼就能看清,不用逐字去比对两段文本。
交换、复制、全屏、清空
左右栏装反了,一键交换。要把 diff 贴到别处,一键复制。长文档看不下,进全屏。想重头来,一键清空。这些都是编辑器里的单击操作,不藏在多层菜单里。
导出 HTML / PDF,或生成分享链接
把高亮后的对比结果导出成 HTML 或 PDF 文件,方便离线审阅;也可以生成一条分享链接,打开后还原同样的 diff 视图。当同事或客户需要看到你看到的样子,又不想让他自己跑一遍工具时,这两个选项都好用。
支持任意纯文本
源代码、JSON、YAML、XML、SQL、Markdown、CSV、shell 脚本、.env 文件、日志输出——只要是文本就能比。没有硬性大小上限,大段输入在本地处理,瓶颈是你的设备而不是服务器。如果你要处理的是结构化表格,也可以先把 CSV 转成 Excel。
新增/删除计数,移动端可用
实时计数器显示这次 diff 包含多少处新增、多少处删除——快速判断两个版本差得有多远。布局是响应式的,同一份 diff 在手机或平板上也能用,什么都不用装。
谁在用文本对比工具
五类人选择浏览器内的 diff,恰恰是因为他们的文本不应该离开本机。
开发者与代码审查者
提交前对比两个版本的配置文件、CI yaml 或源文件。字符级处理能抓到一个改动的 key、一个互换的 flag、一个漏掉的分号——这些行级 diff 只会隐约提示。
文字写作者与编辑
追踪文稿修订——合同条款、新闻稿、法律段落。diff 把替换掉的词显示出来,审查的重点就落在“含义改了什么”,而不只是“哪里动了”。
法务与合规团队
审计 NDA、供应商协议、政策文本里条款级的改动。因为对比过程完全不经过服务器,敏感条款可以直接在浏览器里审,没有留存风险。
学生与研究者
对比论文章节、引文列表、数据集说明的两个版本。新增和删除的计数器让你一眼看出这版草稿比上一版挪动了多少。
运维、DevOps 与 SRE
抓两个环境之间的配置漂移——一份预发和一份生产的 yaml,或两个版本的基础设施模板。两边粘贴,点“开始对比”,结构性变化立刻浮出来。
文本对比工具是什么——diff 到底是怎么算出来的?
文本对比工具——也叫 diff 检查器、文本差异工具——接收两段文本,算出把一段变成另一段所需的最小编辑集合,再把新增、删除、改动的行、词或字符精确高亮。有意思的是它怎么算出来的:严肃的 diff 工具大多跑两遍,这款也不例外。
背后的 diff 引擎
这款工具用的是两阶段策略。行级阶段用 最长公共子序列(LCS) 把两段输入对齐——动态规划找出公共行,剩下的标成新增或删除。字符级阶段再在每个修改行内部跑,用的是 Google 的 diff-match-patch 库。DMP 内部的核心差异算法就是 Myers O(ND)——Neil Fraser 两阶段策略里描述的那种通用 diff。最后还有一次 diff_cleanupSemantic,把编辑重新对齐到语义边界,让 diff 体现含义,而不是一段最小但嘈杂的编辑。全程在你浏览器里跑——没有服务端调用。
行级 diff vs. 字符级 diff
两个阶段一次给你两种粒度,各自擅长不同的事。
行级 diff —— 比较整行。它抓的是结构性变化——一块被挪走、一个 key 被删、一个函数签名被改写。适用于源代码、配置文件、结构化日志——任何行边界本身带含义的地方。
字符级 diff —— 在每个修改行内部比较单个字符。它抓的是行级会糊掉的那个“一词之差”。适用于合同、散文,以及任何“一个词改变含义”的文本。
这款工具一次跑完两个阶段——先行级,再在每个修改行里跑字符级——所以你在一个视图里同时拿到结构和精确改动。
在线文本对比 vs. VS Code、Git、Word
| 在线文本对比 | VS Code Diff | Git Diff | Word 修订 | |
|---|---|---|---|---|
| 是否需要安装 | 无 | VS Code 应用 | Git 仓库 + 命令行 | Microsoft Word |
| 支持任意纯文本 | ✓ | 部分 | ✓ | 仅 .docx |
| 无需文件或仓库 | ✓ | ✗ | ✗ | ✗ |
| 结果可分享 | PDF / URL | ✗ | 仅本地 | 有限 |
| 手机可用 | ✓ | ✗ | ✗ | 有限 |
| 默认隐私(不上传) | ✓ | ✓ | ✓ | 取决于设置 |
Git 和 VS Code 用的是同一族 diff 算法,但两者都需要本地安装、还要一个文件或仓库。当你想直接从浏览器拿到一个零配置、隐私默认、字符级的 diff 时,在线文本对比补上的就是这块空缺。
文本对比不止于代码审查
四种工作流,一个快速的浏览器内 diff 就能扛下来。
配置漂移检测
扔进去两个版本的 yaml、ini 或 toml,行级阶段告诉你哪些 key 被加进来或删掉了,字符级阶段把那个悄悄变了的 value 也标出来。如果是带 key 的表格漂移,也可以在专门的视图里按 key 对账。
API 契约变更
把发布前后的两份 JSON payload 粘进来,diff 把新增字段、删除字段、重命名的 key 都浮出来。修改行里的字符级处理还能抓到那种会搞挂客户端的类型变化,比如 "id": 123 变成 "id": "123"。
本地化与 i18n 审查
对比两个语言文件,找出漏译、多出来的 key、版本之间漂移的字符串。行级视图管结构,字符级视图定位具体的措辞改动。博客里有更长的 walkthrough。
两份草稿生成 changelog
一份规格、一份 README、一份发布说明的两个版本扔进去,出来一份干净的红绿 diff。新增和删除的计数器让你在看一行之前就大致知道这次改动有多大。
隐私是默认,不是付费升级
每一次对比都作为本地 JavaScript 完整跑在你的浏览器里。没有上传、没有服务端调用、没有存储、没有账号,也没有任何“存到云端”的功能。编辑器自己也写着同一句话:“所有对比都在你的浏览器里完成,不上传任何数据。”这就是整个模型——关掉标签页,文本就没了。
有的工具把隐私推给付费的桌面应用,把网页版当成那个“不够安全”的选项。还有的工具你一点“保存”,文本就泄到服务器上了。这款工具没有“可以关掉”的服务端调用——因为一开始就没有。隐私是开箱即用的工作方式,不是你要升级才拿到的档位。
默认隐私在哪些场景真正值钱
关掉标签页就没了。没有历史,没有服务器缓存,也没有要删的账号。