Skip to content
← 返回全部工具

WinMerge

免费

两份文件哪里不一样,一眼看出来

开源 无广告 无追踪 离线可用 无需注册

Windows 上的文件与文件夹差异对比工具。左右并排高亮显示差异,可以逐处合并,也能整棵目录树递归比较。支持文本、二进制、图片、Word/Excel/PDF(通过插件转换)对比,可以作为 Git 的外部 diff 和 merge 工具。

为什么推荐它

"这两个版本到底哪不一样"是个高频问题:同事发回来一份改过的文档、 备份目录和当前目录不知道差了哪些文件、配置文件改崩了想找出改动、 Git 合并冲突要手工解决。

WinMerge 是 Windows 上做这件事的老牌工具,9,095 颗星,GPL-2.0,维护了二十多年, 当前版本 v2.16.58。

两个核心能力:

  • 文件对比。左右并排,差异行高亮,可以按块把左边的内容合并到右边或反过来。 支持忽略空白、忽略大小写、忽略注释这类规则, 避免因为格式化差异淹没真正的改动。
  • 文件夹对比。选两个目录,它递归比较整棵树,列出"只在左边有""只在右边有" "两边都有但内容不同""完全相同"。同步备份目录、 核对部署包和源码目录时特别有用,可以直接在结果里做双向同步。

进阶用法:

  • 三方合并。可以同时打开"我的版本""对方的版本""共同祖先", 这正是 Git 合并冲突的结构。在 Git 里配置成 mergetool 之后, git mergetool 会直接调它,比在编辑器里对着冲突标记手工改清楚得多。
  • 插件对比非文本文件。装上插件后可以比较 Word、Excel、PDF 的文本内容, 也能对比图片(像素差异高亮)和二进制文件(十六进制视图)。
  • 命令行调用,可以写进脚本做自动化比对。

要说清楚的:

  • 只有 Windows 版。macOS 和 Linux 用户可以看 Meld(跨平台、界面更现代) 或者直接用 git diffdiff、VS Code 内置的对比功能。
  • 界面是传统 Win32 风格,功能密度高但谈不上好看。这是个二十年老工具该有的样子。
  • 大文件夹比较要花时间,几十万个文件的目录树递归比较会跑一阵。

如果你在 Windows 上写代码或者经常需要核对文件版本,这个工具装上不占空间, 需要的时候能省很多眼力。