WinMerge is a tool for visual difference display and merging, for both files and directories.
WinMerge has Unicode support, Flexible syntax coloring editor, and Windows Shell integration. Regexp filtering for filenames and lines. Side-by-side line difference and highlights differences inside lines. A file map shows the overall file differences in a location pane. The user interface is translated into several languages.