WinMerge

WinMerge is a free software tool for data comparison and merging of text-like files. It is useful for determining what has changed between versions, and then merging changes between versions.

WinMerge runs on Microsoft Windows.

Features

 * Visual differencing and merging of text files
 * Flexible editor with syntax highlighting, line numbers, and word-wrap
 * Handles DOS, Unix, and Mac text file formats
 * Unicode support (as of version 2.8.0, UTF-8 files are correctly read without a BOM)
 * Difference pane shows current difference in two vertical panes
 * Location pane shows map of files compared
 * Highlights differences inside lines in file compare
 * Can also generate HTML report with differences highlighted
 * Regular expression-based file filters in directory compare allow excluding and including items
 * Moved lines detection in file compare
 * Ability to ignore whitespace and letter case changes
 * Creates patch files
 * Shell integration (supports 64-bit Windows versions)
 * Rudimentary Visual SourceSafe and IBM DevOps Code ClearCase integration
 * Archive file support using 7-Zip
 * Plug-ins
 * Language localization via plain-text PO files
 * Online manual and installed HTML help manual
 * Generates normal, context, and unified patches.

Codebases and forks
For a planned development of version 3.x no commits have been made to the 3.0 codebase since 2011.

In 2011 a fork of the 2.x codebase titled "WinMerge 2011" was created. This new branch has continued to see active feature and bug fix development. It has also removed ATL/MFC dependencies so that WinMerge can be built using the free Visual C++ Express editions.