WinMerge
FreeSee exactly where two files differ, at a glance
A file and folder comparison tool for Windows. Differences are highlighted side by side and can be merged hunk by hunk, and entire directory trees compare recursively. It handles text, binary, image and — through plugins — Word, Excel and PDF comparison, and can serve as Git's external diff and merge tool.
Why we picked it
"What is actually different between these two versions" is a constant question: a colleague returns an edited document, a backup directory has drifted from the current one, a configuration file broke and you need to find the change, or a Git merge conflict needs resolving by hand.
WinMerge is the veteran Windows tool for this. 9,095 stars, GPL-2.0, maintained for over two decades, currently at v2.16.58.
Two core capabilities:
- File comparison. Side by side with differing lines highlighted, and hunks mergeable in either direction. Rules for ignoring whitespace, case or comments keep formatting noise from burying the real changes.
- Folder comparison. Point it at two directories and it recurses the whole tree, listing what exists only on the left, only on the right, in both but differing, or identical. Invaluable for reconciling backups or checking a deployment package against source, with two-way sync available directly from the results.
Advanced uses:
- Three-way merge. Open "mine", "theirs" and the common ancestor simultaneously — precisely
the structure of a Git merge conflict. Configured as Git's mergetool,
git mergetoolinvokes it directly, which is far clearer than editing conflict markers by hand. - Plugin-based comparison of non-text files: Word, Excel and PDF text content, plus images with pixel differences highlighted and binaries in a hex view.
- Command-line invocation for scripted comparisons.
To be clear about:
- Windows only. macOS and Linux users should look at Meld, which is cross-platform with a more
modern interface, or simply use
git diff,diffor VS Code's built-in comparison. - The interface is traditional Win32 styling — dense with features, not attractive. Exactly what a twenty-year-old tool looks like.
- Large folder comparisons take time; recursing a tree of hundreds of thousands of files runs for a while.
If you write code on Windows or regularly reconcile file versions, this costs nothing to keep installed and saves considerable squinting when needed.