两段文本逐字符 / 词 / 行对比,颜色高亮增删改。

切换工具
0 / 0
原始文本
修改文本
对比结果

输入两段文本后自动对比

使用说明

用途

文本差异在线对比工具,按行 / 词 / 字符三种粒度对比两份文本,高亮新增(绿)、删除(红)、修改(黄)。支持忽略空白、忽略大小写、忽略行尾空格等选项。Word 粒度适合阅读改动(哪几个词变了),Line 粒度适合代码 review(哪几行变了),Char 粒度适合精确分析(一个字符的差异)。常用于 Code Review、合同对比、文档版本对照、配置文件 diff 等场景。所有对比在浏览器本地完成,敏感内容不上传。

操作步骤

  1. 左右两栏分别粘贴或拖入两份文本(旧版 / 新版)
  2. 选粒度:行(默认,适合代码)/ 词(适合文档)/ 字符(精确分析)
  3. 工具实时计算 diff 并高亮显示
  4. side-by-side 视图(默认)/ unified 视图(git 风格)切换
  5. 忽略选项:空白 / 大小写 / 换行符差异(CRLF vs LF)/ 行尾空格
  6. 统计:新增 X 行、删除 Y 行、修改 Z 行
  7. 导出 diff 报告:unified diff 格式(可贴 PR / git apply)或 HTML 高亮报告
  8. 同步滚动:左右两栏同步对齐

常见问题

行 / 词 / 字符 diff 怎么选?
**代码 / 配置文件用 line diff**(同 git diff 风格,看哪几行变)。**文档 / 文章用 word diff**(一段话里改了几个词清晰可见,整行高亮反而看不清细节)。**精确场景(密码 / 密钥差异)用 char diff**(每个字符独立标识)。本工具三种粒度即时切换。
换行符差异(CRLF vs LF)怎么处理?
Windows 用 CRLF (\r\n),Unix / macOS 用 LF (\n)。如果你的 diff 显示"所有行都不同",多半是换行符差异。本工具的"忽略换行符"选项把 CRLF 都归一化为 LF 再 diff。git 也有 core.autocrlf 设置处理这个。
为什么我的 JSON / YAML diff 看不清差异?
**JSON / YAML 这种结构化内容应该用专门的 diff 工具**(如 jq-diff、json-diff)。本工具是文本 diff,对格式化差异敏感(缩进改了会显示整文件不同)。**变通**: 先把两份 JSON 格式化为相同缩进(用 jq 或 json-viewer 工具),再 line diff。
能像 Beyond Compare 一样三方 diff 吗?
本工具是两方 diff。三方 diff(merge conflict 解决)用 IDE 内置工具或专门软件(VS Code 内置三方 diff,命令行用 git mergetool)。**Web 场景的三方 diff** 仍有局限,体验远不如桌面工具。
导出的 unified diff 能用 git apply 吗?
可以。"unified diff" 格式是 git / patch 工具标准。导出后保存为 .patch 文件,`git apply file.patch` 即可应用。**注意**: unified diff 需要正确的 a/ b/ 路径前缀和 hunks 标记,本工具按 git 习惯生成。

应用场景

  • Code Review:本地代码改动 vs 主干 diff 看清变更范围
  • 合同对比:新旧版本合同条款 word diff 找改动的字眼
  • 配置文件 diff:测试环境 vs 生产环境 application.yml 差异
  • 文档版本对照:v1.0 vs v2.0 文档变化
  • 密码 / 密钥差异:客户报错"密钥不对"用 char diff 精确定位

适用场景

Code Review、合同对比、配置文件 diff、文档版本对照、精确字符差异。开发、法务、运维、技术写作常用。三种粒度、忽略选项、unified diff 导出、同步滚动是关键差异点。