KDiff3 is a program that
* compares or merges two or three text input files or directories,
* shows the differences line by line and character by character (!),
* provides an automatic merge-facility and
* an integrated editor for comfortable solving of merge-conflicts,
* supports Unicode, UTF-8 and other codecs, autodetection via
byte-order-mark "BOM"
* supports KIO on KDE (allows accessing ftp, sftp, fish, smb etc.),
* Printing of differences,
* Manual alignment of lines,
* Automatic merging of version control history ($Log$),
* and has an intuitive graphical user interface.
* Windows-Explorer integration Diff-Ext-for-KDiff3 - shell extension
included in installer (originally by Sergey Zorin: see also Diff Ext)
* Read what else is special in a short abstract (PDF).