WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
WinMerge is highly useful for determining what has changed between project versions, and then merging changes between versions. WinMerge can be used as an external differencing/merging tool or as a standalone application.
Features
In addition, WinMerge has many helpful supporting features that make comparing, synchronising, and merging as easy and useful as possible:
General
Supports Microsoft Windows 2000/XP/2003/Vista/2008/7/8/2012
Handles Windows, Unix and Mac text file formats
Unicode support
Tabbed interface
File Compare
Visual differencing and merging of text files
Flexible editor with syntax highlighting, line numbers and word-wrap
Highlights differences inside lines
Difference pane shows current difference in two vertical panes
Location pane shows map of files compared
Moved lines detection
Folder Compare
Regular Expression based file filters allow excluding and including items
Fast compare using file sizes and dates
Compares one folder or includes all subfolders
Can show folder compare results in a tree-style view
Version Control
Creates patch files (Normal-, Context- and Unified formats)
Resolve conflict files
Rudimentary Visual SourceSafe and Rational ClearCase integration
Other
Shell Integration (supports 64-bit Windows versions)