Comparison of file comparison tools
Appearance
General
Basic general information about file comparison software.
Name | Creator | Software license | Cost | First public release date | Year of latest stable version | Windows | Macintosh | Linux | Other platforms | Max Supported File Size |
---|---|---|---|---|---|---|---|---|---|---|
Beyond Compare | Scooter Software[1] | Proprietary | USD 30 (std), 50 (pro) | 1996 | 2014 (v4.0) | Yes | Yes | Yes | ||
Compare++ | Coode Software[2] | Proprietary | USD 29.95 with free 30-day trial[3] | 2010 | 2013 (v2.15) | Yes[4] | No | No | ||
diff, diff3 | AT&T | BSD 3-clause, BSD 4-clause, CDDL, GPL, Proprietary | - | 1974 | Yes | Yes (Mac OS X) | Yes | ported to most platforms as part of SCCS | > 2GB but less than 64 bits | |
Ediff | Michael Kifer[5] | GPL | Free | 1994 | 2.81.4 | Yes | Yes (Mac OS X) | Yes | Anything with Emacs | |
ExamDiff Pro | PrestoSoft[6] | Proprietary | USD 35, with a trial version available[7] | 1998 | 2014 (v7.0.1.6) | Yes (Win98 and up) | No | No | ||
fc | Microsoft[8] | Proprietary | Part of OS | 1987 | Yes (DOS) | No | No | |||
FileMerge | Apple Inc. | Proprietary | Free (part of Apple Developer Tools) | 1993 (part of NEXTSTEP 3.2[9]) | 2014 (v2.8) | No | Yes (Mac OS X) | No | ||
IntelliJ IDEA Compare | JetBrains[10] | Proprietary | Part of application | 2007 (v6.0.5) | Yes | Yes | Yes | |||
jEdit JDiff plugin | Various[11] | GPL | Free | 1998 | 2012 (3.3.0) | Yes | Yes | Yes | Anything with Java | |
Kompare (aka KDiff3) | Otto Bruggeman[12] | GPLv2+ | Free | Yes [13] | Yes (Mac OS X) | Yes | ||||
Lazarus Diff | Lazarus (software) | GPL | - | 2000 | 2009 | Yes | Yes | Yes | FreeBSD | |
Meld | Stephen Kennedy[14] | GPLv2+ | - | 2002 | 2014-1-23 (v1.8.4) | Yes[15] | Yes | Yes | BSD, Solaris | |
Perforce P4Merge | Perforce | Proprietary[16] | - | 2013 (2013.2) | Yes | Yes | Yes | Sun Solaris | ||
Pretty Diff | Austin Cheney[17] | GPL-compatible | Free | 2009 | 2012-07-05 | Yes (Web) | Yes (Web) | Yes (Web) | Node.js, Windows Script Host | |
Tkdiff | Tkdiff[18] | GPLv2+ | Free | 2003 (or before) | 2011-11-27 (v4.2) | Yes (Tcl) | Yes (Tcl) | Yes (Tcl) | Anything with Tcl | |
Total Commander Compare | Christian Ghisler[19] | Proprietary | Part of application | 2010-12-17 (v7.56a) | Yes | No | No | |||
twdiff (TextWrangler Diff Helper) | Bare Bones Software, Inc.[20] | Proprietary | free (with TextWrangler [free]) | 2012 (1.0 (v22)) | No | Yes | No | No | ||
vimdiff | Bram Moolenaar et al. | GPL-compatible | - | 2001 | 2006-05-07 (v7.0) | Yes | Yes | Yes | Anything with vim | |
WinDiff | Microsoft[21] | Proprietary | Part of Platform SDK | 1992 | 2003 ? (v6.1) | Yes | No | No | No | |
WinMerge | Dean Grimm[22] | GPL | Free | 1998 | 2013-02-03 (v2.14.0) | Yes (Win95 and up) | No | No | 2 GiB | |
UCC | USC CSSE[23] | USC-CSSE Limited Public License[24] | Free | 2009 | 2010-07 | Yes | Yes | Yes {2.6.9} | Sun Solaris | |
Name | Creator | Software license | Cost | First public release date | Year of latest stable version | Windows | Macintosh | Linux | Other platforms | Max Supported File Size |
Compare features
Name | Show in-line changes | Directory comparison | Binary comparison | Moved lines | 3-way comparison | Merge | Structured comparison[25] |
---|---|---|---|---|---|---|---|
Beyond Compare | Yes | Yes | Yes | No | Yes | Yes (Pro only) | |
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 | Yes | Yes | ||||
Ediff | Yes | Yes | Yes | Yes | Yes | ||
ExamDiff Pro | Yes | Yes | Yes | Yes[26] | Yes (ExamDiff Pro Master, only) [27] | Yes | |
fc | No | No | Yes | No | No | ||
FileMerge | Yes | Yes | Yes | Yes (optional ancestor) | Yes | ||
IntelliJ IDEA Compare | Yes | Yes | Yes | ||||
jEdit JDiff plugin | Yes | No | Yes | ||||
Kompare (aka KDiff3) | Yes | No | No | ||||
Lazarus Diff | |||||||
Meld | Yes | Yes | No | Yes | Yes | Yes | |
Perforce P4Merge | Yes | No | No | Yes | Yes | ||
Pretty Diff | Yes | No | No | No | No | No | Yes |
Tkdiff | Yes | No | No | No | No | No | |
Total Commander Compare | Yes | Yes | Yes | No | Yes | ||
vimdiff | Yes | Yes (via DirDiff plugin) | No (can do 2, 3, or 4 file diffs, but not a 3-way diff) | ||||
WinDiff | Yes | Yes | Yes | Yes | No | No | |
WinMerge | Yes | Yes | No | 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[25] |
API / editor features
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 | |||
diff3 | No | Yes | horizontal | |||
Eclipse Compare | Yes | vertical | Yes | |||
Ediff | Yes | Yes | elisp | both | Yes | |
ExamDiff Pro | Yes | Yes | optional | Yes | UNIX, HTML, Diff | |
fc | No | Yes | horizontal | |||
FileMerge | Yes | Yes | vertical | Yes | No | |
IntelliJ IDEA Compare | Yes | vertical | Yes | |||
jEdit JDiff plugin | Yes | both | Yes | |||
Kompare (aka KDiff3) | Yes | vertical | No | |||
Lazarus Diff | Yes | Yes | ||||
Meld | Yes | horizontal | Yes | No | ||
Perforce P4Merge | Yes | Yes | vertical | No | No | |
Pretty Diff | Yes | Yes | JavaScript | Both | No | XHTML |
Tkdiff | Yes | |||||
Total Commander Compare | Yes | optional | ||||
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 |
Other features
Some other features which did not fit in previous table
Name | ZIP support | FTP support | Version Control browsing | Patch creation | Patch application | Patch preview | Unicode support | XML-aware |
---|---|---|---|---|---|---|---|---|
Beyond Compare | Yes | Yes | Yes[28] | Yes | No | Yes | Yes | |
Compare++ | SVN, CVS, Git, Microsoft TFS, Perforce, VSS using command line | Yes | ||||||
diff | No | No | No | Yes | No | No | Yes | No |
diff3 | No | No | No | |||||
Eclipse Compare | Yes | |||||||
Ediff | Yes | Yes | RCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)[29] | Yes | Yes | Yes | ||
ExamDiff Pro | Yes[30] | Yes[31] | normal diff only | Yes | ||||
fc | No | No | No | |||||
FileMerge | No | supported by OS | No | No | No | |||
IntelliJ IDEA Compare | Yes | Yes | Yes | Yes | Yes | Yes | ||
jEdit JDiff plugin | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Kompare (aka KDiff3) | Yes | |||||||
Lazarus Diff | ||||||||
Meld | CVS, Subversion, Git | Yes | Yes | |||||
Perforce P4Merge | No | Yes | ||||||
Pretty Diff | No | No | No | No | No | No | Yes | Yes |
Tkdiff | No | No | CVS, RCS, Subversion | No | No | No | No | No |
Total Commander Compare | Yes | Yes | ||||||
vimdiff | Yes | Yes | Yes | Yes | ||||
WinDiff | No | No | No | No | ||||
WinMerge | Yes | No | Mercurial,[32] Subversion,[33] Visual Source Safe, Rational ClearCase[34] | Yes | Yes | |||
UCC | Yes | No | Yes | |||||
Name | ZIP support | FTP support | Version Control browsing | Patch creation | Patch application | Patch preview | Unicode support | XML-aware |
Aspects
What aspects can be / are compared?
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 |
fc | No | Optional | |||
FileMerge | No | No | No | Optional | |
IntelliJ IDEA Compare | |||||
jEdit JDiff plugin | |||||
Kompare (aka KDiff3) | Yes | ||||
Lazarus Diff | |||||
Meld | |||||
Perforce P4Merge | — | No | No | No | Yes |
Pretty Diff | — | No | No | No | Optional |
Tkdiff | |||||
Total Commander Compare | Optional | 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 |
See also
References
- ^ Scooter Software
- ^ Coode Software
- ^ Coodesoft trial
- ^ Compare++ Operating system information
- ^ Michael Kifer
- ^ PrestoSoft
- ^ ExamDiff Trial
- ^ Microsoft
- ^ NeXT Product Marketing (Fall 1993). "What's New in Release 3.2?". NEXTSTEP In Focus. 3 (4). NeXT Computer, Inc. Retrieved 18 July 2014.
- ^ JetBrains
- ^ jedit.org
- ^ Otto Bruggeman
- ^ Installing Kompare in Windows
- ^ Stephen Kennedy
- ^ Meld/Windows
- ^ Perforce Free License
- ^ Pretty Diff
- ^ tkdiff
- ^ Christian Ghisler
- ^ Bare Bones Software, Inc.
- ^ Microsoft
- ^ Dean Grimm
- ^ USC CSSE
- ^ USC-CSSE Limited Public License
- ^ a b Compare logical sections (class, methods)
- ^ Examdiff
- ^ Examdiff
- ^ Using Beyond Compare with Version Control Systems
- ^ gnu.org Support-for-Version-Control
- ^ through a plug-in
- ^ through a plug-in
- ^ "tortoisehg / stable / wiki / FAQ —". Bitbucket.org. Retrieved 2010-07-06.
- ^ "Using WinMerge with other tools - WinMerge 2.12 Manual". Winmerge.org. Retrieved 2010-07-06.
- ^ "About". WinMerge. Retrieved 2010-07-06.