Name | Creator | FOSS | Free | First public release date | Year of latest stable version | Windows | Macintosh | Linux | Other platforms | Max Supported File Size |
---|---|---|---|---|---|---|---|---|---|---|
Beyond Compare | Scooter Software[1] | No; Proprietary | No | 1996 | 2019-05-28 (v4.2.10) | Yes | Yes | Yes | > 2GB (64 bits) | |
Compare++ | Coode Software[2] | No; Proprietary | No | 2010 | 2014-11-12 (2.21.2.0) | Yes[3] | No | No | ||
diff, diff3 | AT&T | Yes; BSD 3-clause, BSD 4-clause, CDDL, GPL, Proprietary | Yes | 1974 | Yes | Yes (Mac OS X) | Yes | ported to most platforms as part of SCCS | > 2GB but less than 64 bits | |
Eclipse (compare) | Yes; Eclipse Public License | Yes | 2004-07-21 | 2016-09-28 (4.6.1 (Neon.1)) | Yes | Yes | Yes | Anything with Java | ||
Ediff | Michael Kifer[4] | Yes; GPL | Yes | 1994 | 2.81.4 | Yes[5] | Yes (Mac OS X) | Yes | Anything with Emacs and diff | |
ExamDiff Pro | PrestoSoft[6] | No; Proprietary | No | 1998 | 2017-09-23 (v 9.0.1.6) | Yes (Win98 and up) | No | No | ||
Far Manager (compare) | Eugene Roshal (original); FAR Group | Yes; Revised BSD license | Yes | 1996 | 2017-08-07 (v3.0 build 5000) | Yes | No | No | ||
fc | Microsoft[7] | No; Proprietary | Yes; Part of OS | 1987 | Yes (DOS) | No | No | |||
FileMerge (aka opendiff) | Apple Inc. | No; Proprietary | Yes; (part of Apple Developer Tools) | 1993 (part of NEXTSTEP 3.2[8]) | 2014 (v2.8) | No | Yes (Mac OS X) | No | ||
Guiffy SureMerge | Guiffy Software[9] | No; Proprietary | No | 2000 | 2019-05-07 (v11.10) | Yes | Yes | Yes | Anything with Java | > 2GB |
IntelliJ IDEA (compare) | JetBrains[10] | No; Proprietary | No | 2001 | 2019-08-20 (2019.2.1) | Yes | Yes | Yes | ||
jEdit JDiff plugin | Various[11] | Yes; GPL | Yes | 1998 | 2012-10-04 (3.3.0) | Yes | Yes | Yes | Anything with Java | |
Kompare | Otto Bruggeman[12] | Yes; GPLv2+ | Yes | Yes [13] | Yes (Mac OS X) | Yes | ||||
Lazarus Diff | Lazarus (software) | Yes; GPL | Yes | 2000 | 2016-11-13 (1.6.2) | Yes | Yes | Yes | FreeBSD | |
Meld | Stephen Kennedy[14] | Yes; GPLv2+ | Yes | 2002 | 2018-06-19 (v3.18.2) | Yes[15] | Yes | Yes | BSD, Solaris | |
Notepad++ (compare) | Various | Yes; GPLv3 | Yes | 2009 | 2015-01-06 (1.5.6.6) | Yes[16] | No | No | ||
Perforce P4Merge | Perforce | No; Proprietary | Yes | 2019 (2019.1/1815056) | Yes | Yes | Yes | Sun Solaris | ||
Pretty Diff | Austin Cheney[17] | Yes; MIT-compatible | Yes | 2009 | 2016-11-11 (2.1.14) | Yes (Web) | Yes (Web) | Yes (Web) | Node.js | |
Tkdiff | Tkdiff[18] | Yes; GPLv2+ | Yes | 2003 (or before) | 2011-11-27 (v4.2) | Yes (Tcl) | Yes (Tcl) | Yes (Tcl) | Anything with Tcl | |
Total Commander (compare) | Christian Ghisler[19] | No; Proprietary | No | 2016-11-23 (v9.00) | Yes | No | No | |||
twdiff (TextWrangler Diff Helper) | Bare Bones Software, Inc.[20] | No; Proprietary | Yes; with TextWrangler | 2012 (1.0 (v22)) | No | Yes | No | No | ||
vimdiff | Bram Moolenaar et al. | Yes; GPL-compatible [21] | Yes | 2001 | 2016-10-03 (v8.0.0022) | Yes | Yes | Yes | Anything with vim | |
WinDiff | Microsoft[22] | No; Proprietary | Yes; Part of Platform SDK | 1992 | 2002-08-16 14:36:14 (v5.00.2195.6601) | Yes | No | No | No | |
WinMerge | Dean Grimm[23] | Yes; GPL | Yes | 1998 | 2018-11-22 (v2.18.0) | Yes (Win95 and up) | Yes (in wine[24]) | Yes (in wine[24]) | 2 GB | |
UCC | USC CSSE[25] | No; USC-CSSE Limited Public License | Yes | 2009 | 2015-12-30 (2015.12) | Yes | Yes | Yes {2.6.9} | Sun Solaris | |
Name | Creator | FOSS | Free | First public release date | Year of latest stable version | Windows | Macintosh | Linux | Other platforms | Max Supported File Size |
Name | Show in-line changes | Directory comparison | Binary comparison | Moved lines | 3-way comparison | Merge | Structured comparison[26] | Manual compare alignment | Image Compare |
---|---|---|---|---|---|---|---|---|---|
Beyond Compare | Yes | Yes | Yes | No | Yes (Files and Folders) | Yes (Pro only) | Yes | Yes | |
Compare++ | Yes | Yes | Yes | Yes | Yes (C/C++,C#,Java,Javascript,CSS3) | ||||
diff | No | Yes | partly | No | No | No | |||
diff3 | No | No | Yes (non-optional) | ||||||
Eclipse (compare) | Yes | No (only ancestor) | Yes | No | |||||
Ediff | Yes | Yes | Yes | Yes | Yes | ||||
ExamDiff Pro | Yes | Yes | Yes | Yes[27] | Yes (ExamDiff Pro Master only)[28] | Yes | manual synchronization | ||
Far Manager (compare) | Yes (Via plugin) [29] | Yes | Yes | Yes (Via plugin) [29] | No | No | |||
fc | No | No | Yes | No | No | ||||
FileMerge (aka opendiff) | Yes | Yes | Yes | Yes (optional ancestor) | Yes | ||||
Guiffy SureMerge | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
IntelliJ IDEA (compare) | Yes | Yes | Yes | Yes | Yes | Yes | |||
jEdit JDiff plugin | Yes | No | Yes | ||||||
Kompare | Yes | No | No | Yes | |||||
Lazarus Diff | |||||||||
Meld | Yes | Yes | No | Yes | Yes | Yes | line alignment, unlink scroll | ||
Notepad++ (compare) | Yes | No | No | Yes | No | No | No | ||
Perforce P4Merge | Yes | No | No | Yes | Yes | Yes | |||
Pretty Diff | Yes | Yes | No | No | No | No | Yes | No | |
Tkdiff | Yes | No | No | No | No | No | |||
Total Commander (compare) | Yes | Yes | Yes | No | No | Yes | No | resync comparison | No |
vimdiff | Yes | Yes (via DirDiff plugin) | Yes | Yes | |||||
WinDiff | Yes | Yes | Yes | Yes | No | No | |||
WinMerge | Yes | Yes | No | Yes | Yes | Yes | No | Yes | |
UCC | Yes | Yes | Yes | Yes | No | Yes | |||
Name | Show in-line changes | Directory comparison | Binary comparison | Moved lines | 3-way comparison | Merge | Structured comparison[26] | Manual compare alignment | Image compare |
Name | GUI | CLI | Scripting | Horizontal / Vertical | Syntax Highlighting | Reports |
---|---|---|---|---|---|---|
Beyond Compare | Yes | Yes | Yes | Both | Yes | XML, HTML, CSV, Text, Unix Patch |
Compare++ | Yes | Yes | Both | Yes | HTML, Text(combined or side-by-side) | |
diff | No | Yes | Horizontal | Yes pipe to diff-highlight[30] | ||
diff3 | No | Yes | Horizontal | |||
Eclipse (compare) | Yes | Vertical | Yes | |||
Ediff | Yes | Yes | elisp | Both | Yes | |
ExamDiff Pro | Yes | Yes | optional | Yes | UNIX, HTML, Diff | |
Far Manager (compare) | Yes | Yes | Yes | Yes | No | |
fc | No | Yes | Horizontal | |||
FileMerge (aka opendiff) | Yes | Yes | Vertical | Yes | No | |
Guiffy SureMerge | Yes | Yes | Java API | Both | Yes | HTML, Text, Unix Patch |
IntelliJ IDEA (compare) | Yes | Yes | Vertical | Yes | ||
jEdit JDiff plugin | Yes | Both | Yes | |||
Kompare | Yes | Vertical | No | |||
Lazarus Diff | Yes | Yes | ||||
Meld | Yes | No | Horizontal | Yes | No | |
Notepad++ (compare) | Yes | Yes | Both | Yes | No | |
Perforce P4Merge | Yes | Yes | Vertical | No | No | |
Pretty Diff | Yes | Yes | JavaScript | Both | Yes | XHTML |
Tkdiff | Yes | |||||
Total Commander (compare) | Yes | Both | No | No | ||
vimdiff | Yes | Yes | vim script | Both | Yes | HTML |
WinDiff | Yes | Yes | Horizontal | No | Text | |
WinMerge | Yes | Yes | Vertical | Yes | CSV, Tab-delimited, HTML, XML | |
UCC | Yes | Yes | Vertical | Yes | Text, CSV | |
Name | GUI | CLI | Scripting | Horizontal / Vertical | Syntax Highlighting | Reports |
Name | ZIP support | FTP support | SFTP support | Version Control browsing | Patch creation | Patch application | Patch preview | Unicode support | XML-aware |
---|---|---|---|---|---|---|---|---|---|
Beyond Compare | Yes | Yes | Yes | SVN | Yes | Yes | Yes | Yes | |
Compare++ | SVN, CVS, Git, Microsoft TFS, Perforce, VSS using command line | Yes | |||||||
diff | No | No | No | Yes | Yes with patch | Yes with patch | No | No | |
diff3 | No | No | No | ||||||
Eclipse (compare) | Yes CVS, Subversion, Git, Mercurial, Baazar | Yes | |||||||
Ediff | Yes | Yes | RCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)[31] | Yes | Yes | Yes | |||
ExamDiff Pro | Yes[32] | Yes[33] | normal diff only | Yes | |||||
Far Manager (compare) | No | No | No | No | No | No | Yes | No | |
fc | No | No | No | ||||||
FileMerge (aka opendiff) | No | supported by OS | No | No | No | ||||
Guiffy SureMerge | Yes | Yes | Yes | Yes | Yes[34] | ||||
IntelliJ IDEA (compare) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
jEdit JDiff plugin | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
Kompare | Yes | ||||||||
Lazarus Diff | |||||||||
Meld | CVS, Subversion, Git, Mercurial, Baazar | Yes | Yes | ||||||
Notepad++ (compare) | No | Yes[35] | Git, Subversion (compare against base) | No | No | No | Yes | No | |
Perforce P4Merge | No | Yes | |||||||
Pretty Diff | No | No | No | No | No | No | No | Yes | Yes |
Tkdiff | No | No | CVS, RCS, Subversion | No | No | No | No | No | |
Total Commander (compare) | Yes | Yes | Yes | No | No | No | No | Yes | No |
vimdiff | Yes | Yes | Yes | Yes | |||||
WinDiff | No | No | No | No | |||||
WinMerge | Yes | No | Mercurial,[36] Subversion,[37] Visual Source Safe, Rational ClearCase[38] | Yes | Yes | ||||
UCC | Yes | No | Yes | ||||||
Name | ZIP support | FTP support | SFTP support | Version Control browsing | Patch creation | Patch application | Patch preview | Unicode support | XML-aware |
Name | Filename casing | CRC | Filedate | Daylight saving | Character casing |
---|---|---|---|---|---|
Beyond Compare | Yes | Yes | Yes | Yes | Yes |
Compare++ | Yes | Yes | Yes | Yes | |
diff | Yes | No | No | No | Optional |
diff3 | |||||
Eclipse (compare) | |||||
Ediff | |||||
ExamDiff Pro | No | Yes | Yes | Yes | Yes |
Far Manager (compare) | Yes | No | Yes | No | Yes |
fc | No | Optional | |||
FileMerge (aka opendiff) | No | No | No | Optional | |
Guiffy SureMerge | filesystem dependent | Yes | Yes | ||
IntelliJ IDEA (compare) | |||||
jEdit JDiff plugin | |||||
Kompare | Yes | ||||
Lazarus Diff | |||||
Meld | |||||
Notepad++ (compare) | No | No | No | Yes | |
Perforce P4Merge | N/A | No | No | No | Yes |
Pretty Diff | N/A | No | No | No | Optional |
Tkdiff | |||||
Total Commander (compare) | Optional | Yes (in synchronize only) | Optional | ||
vimdiff | No | No | No | No | Yes |
WinDiff | No | No | when different | Yes | Optional |
WinMerge | No | No | Optional | Optional | |
UCC | No | No | Yes | No | |
Name | Filename casing | CRC | Filedate | Daylight saving | Character casing |
|dead-url=
(help)|dead-url=
(help)