As featured in:

WinMerge is an Open Source visual text file differencing and merging tool for Win32 platforms. It is highly useful for determing what has changed between project versions, and then merging changes between versions.


  • 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
  • Difference pane shows current difference in two vertical panes
  • Location pane shows map of files compared
  • Highlights differences inside lines in file compare
  • Regular Expression based file filters in directory compare allow excluding and including items
  • Moved lines detection in file compare
  • Creates patch files
  • Shell Integration (supports 64-bit Windows versions)
  • Rudimentary Visual SourceSafe and Rational ClearCase integration
  • Archive file support using 7-Zip
  • Plugin support
  • Localizable interface via resource DLL
  • Online manual and installed HTML Help manual

What's New:


  • BugFix: More space for some internationalized strings (GitHub #402)
  • BugFix: Some improvements (GitHub #405,411)

File compare

  • BugFix: Ignore case option did not work when Diff algorithm was other than default
  • BugFix: A white vertical rectangle was sometimes drawn in the selected area
  • BugFix: The title of the file comparison window after changing the language was accidentally changed to "Untitled left/right"
  • BugFix: Wrong merging (GitHub #420) (minimal/patience/histogram diff algorithm did not work on Windows XP)
  • Extended F4 key movement range to the whole file
  • Don't treat UTF-8 and UTF-8 with BOM the same when the "Ignore codepage differences" option is disabled

Folder compare

  • BugFix: Appropriate error messages were not displayed when the file to be deleted no longer existed
  • BugFix: 'Show Middle/Right Unique items' menu item does not work properly in 3-way folder compare ( #40672)
  • CTRL+Drag folders now has the opposite behavior of the current Include Subfolders option

Image compare

  • BugFix: Fix scrolling glitches (GitHub WinMerge/winimerge PR #8)
  • Reduce flicker on resize (GitHub WinMerge/winimerge PR #9)

Options dialog

  • Allow choosing image filename patterns from a multi-selection dropdown list (GitHub PR #391)
  • WildcardDropList: Avoid the String instance as it could throw std::bad_alloc (GitHub PR #397)
  • Remove duplicate filename patterns without relying on WildcardDropList (GitHub PR #400)
  • Made Options dialog resizable
  • Changed the default values for the following options:
  • Ignore codepage differences -> disabled
  • Include unique subfolders contents -> enabled

About dialog

  • Rework the fix for Github issue #316: GUI glitches/bugs #2 (GitHub PR #392)
  • Replace outdated list of developers in AboutBox with ascii-art gnu from FSF (GitHub PR #394)


  • BugFix: Installation - Internal error: Failed to expand shell folder constant "userdesktop" (GitHub #354)
  • BugFix: Lithuanian.po is missing (GitHub PR #415)
  • New installer for per-user installation (WinMerge-2.16.8-x64-PerUser-Setup.exe)


  • Translation updates:
  • Brazilian (GitHub PR #383)
  • Galician (GitHub PR #393)
  • German (GitHub PR #388,389,398,399,401,406,412,414, WinMerge/frhed PR #2)
  • Lithuanian (GitHub PR #385,390,407,408,413,415)
  • Turkish (GitHub PR #386)
  • Russian (GitHub PR #387)


  • Update manual for IgnoreCommentsC change (GitHub PR #384)
  • Update Shortcut_keys.xml (GitHub PR #410)