From Wikipedia, the free encyclopedia
[edit] General
Basic general information about file comparison software.
| Name |
Creator |
Software license |
Cost |
First public release date |
Latest stable version |
Windows |
Macintosh |
Linux |
Other platforms |
| Altova DiffDog |
Altova |
Proprietary |
USD 129 (single license), with a free 30 day trial version available |
|
2007 |
Yes (Win NT, 2000 & XP) |
No |
No |
|
| Araxis Merge |
Araxis Ltd |
Proprietary |
USD 129 (std) - 269 (pro) |
1993 |
2007.3225 (Apr 10, 2007) |
Yes |
Yes (under development, but stable enough to be used) |
No |
|
| Beyond Compare |
Scooter Software |
Proprietary |
USD 30 |
|
2.5.2 (Nov 21, 2007) |
Yes (Win95 and up) |
No |
Yes (Under development for version 3[1]) |
|
| ECMerge |
ElliƩ Computing |
Proprietary |
from USD 30 (std) / USD 60 (pro) / floating licence |
2005 |
2.1 (May 26, 2008 |
Yes (Win98 and up) |
Yes (Mac OS X) |
Yes |
Sun Solaris |
| Compare It! |
Grig Software |
Proprietary |
USD 29 |
|
3.86 (Jan 8, 2006) |
Yes |
No |
No |
|
| Deltopia DeltaWalker |
Deltopia Inc |
Proprietary |
Personal: 30 (std), 60 (oro); Commercial: 100 (std), 190 (oro); all USD |
2007 |
2007 (1.5.6 Dec 3, 2007) |
Yes |
Yes (Mac OS X) |
Yes |
|
| diff |
GNU Project |
Free |
- |
1974 |
|
Yes |
Yes (Mac OS X) |
Yes |
|
| diff3 |
GNU Project |
Free |
- |
|
|
Yes |
Yes (Mac OS X) |
Yes |
|
| Diff Commander |
Nikeware |
Proprietary |
USD 29 |
2005 |
2.0 (Feb 26, 2007) |
Yes |
No |
No |
|
| DiffDaff |
cyberpromote |
Freeware |
- |
|
1.0.0 (June 6, 2006) |
Yes |
No |
No |
|
| Softinterface Diff Doc |
Softinterface |
Proprietary |
USD 199 (single license), with a free 30 day Doc' trial version available |
2002 |
2007.3225 (Jun 06, 2007) |
Yes (Windows 98-Vista and up) |
No |
No |
|
| DiffMerge |
SourceGear |
Proprietary |
Free |
2003 |
3.2.0 (May 29, 2008) |
Yes |
Yes |
Yes |
|
| Eclipse Compare |
|
Free |
- |
|
|
Yes |
Yes (Mac OS X) |
Yes |
Anything with Java |
| Ediff |
Michael Kifer |
GPL |
- |
|
|
Yes |
Yes (Mac OS X) |
Yes |
Anything with Emacs |
| ExamDiff Pro |
PrestoSoft |
Proprietary |
USD 35, with a free version available (ExamDiff) |
1998 |
3.5.1.2 (Apr 6, 2007) |
Yes (Win98 and up) |
No |
No |
|
| fc |
Microsoft |
Proprietary |
Part of OS |
|
|
Yes (DOS) |
No |
No |
|
| FileMerge |
AppleComputer, Inc. |
Proprietary |
Free (part of Apple Developer Tools) |
|
2.2.1 (2005) |
No |
Yes (Mac OS X) |
No |
|
| Guiffy SureMerge |
Guiffy Software |
Proprietary |
Single user USD 66 / Mutli-user USD 44 per user |
2000 |
8.4 (Mar 25, 2008) |
Yes |
Yes |
Yes |
Anything with Java |
| IntelliJ IDEA Compare |
JetBrains |
Proprietary |
Part of application |
|
6.0.5 (2007) |
Yes |
Yes |
Yes |
|
| jEdit JDiff plugin |
Various |
GPL |
Free |
1998 |
1.9.0 |
Yes |
Yes |
Yes |
Anything with Java |
| KDiff3 |
Joachim Eibl |
GPL |
- |
2002 |
0.9.92 (Apr 15, 2007) |
Yes |
Yes (Mac OS X) |
Yes |
|
| Kompare |
Otto Bruggeman |
GPL |
- |
|
3.5.0 (Nov 29, 2005) |
Yes (Cygwin) |
No |
Yes |
|
| LizardTF |
Ian Cornwell |
GPL |
Free - part of LizardTF |
|
0.1.3 (Jan 10, 2008) |
Yes (Inc. 64bit) |
No |
No |
|
| Meld |
Stephen Kennedy |
GPL |
- |
|
1.1.5 (June 9, 2007) |
No |
Yes (Mac OS X) |
Yes |
|
| SmartSynchronize |
SyntEvo |
Proprietary |
USD 52 |
|
2.5.1 (Mar 11, 2007) |
Yes |
Yes |
Yes |
Anything with Java |
| SwiftCompare |
Oorja Software |
Proprietary |
USD 27 |
|
1.1 (Jan 19, 2007) |
Yes (Win98 and up) |
No |
No |
|
| TkDiff |
[2] |
GPL |
- |
|
4.1.3 (Feb 20, 2006) |
Yes (Tcl) |
Yes (Tcl) |
Yes (Tcl) |
Anything with Tcl |
| TortoiseMerge |
[3] |
GPL |
Part of TortoiseSVN |
|
1.4.8 (February 16, 2008) |
Yes (Win2k and up) |
No |
No |
|
| Total Commander Compare |
Christian Ghisler |
Proprietary |
Part of application |
|
7.01 (Jun 21, 2007) |
Yes |
No |
No |
|
| UltraCompare |
IDM Computer Solutions |
Proprietary |
USD 29.95 |
|
5.0 (May 18, 2007) |
Yes |
No |
No |
|
| vimdiff |
Bram Moolenaar et al |
GPL-compatible |
- |
2001 |
7.0 (May 7, 2006) |
Yes |
Yes |
Yes |
Anything with vim |
| Visual Comparer |
Nikeware |
Proprietary |
USD 29 |
|
1.60 (Feb 26, 2007) |
Yes |
No |
No |
|
| WinDiff |
Microsoft |
Proprietary (with source code) |
Part of Platform SDK |
|
|
Yes |
No |
No |
|
| WinMerge |
Dean Grimm |
GPL |
- |
1998 |
2.8.0 (April 3, 2008) |
Yes (Win95 and up) |
No |
No |
|
| xxdiff |
Martin Blais |
GPL |
- |
2000 |
3.2 (June 30, 2006) |
Yes (ver. 2.9) |
Yes (source) |
Yes (source) |
|
| zsCompare |
Zizasoft |
Proprietary |
USD 35 (lite) USD 99.95 (std) USD 199.95 (pro) |
2004 |
3.03 (July 6, 2006) |
Yes |
Yes |
Yes |
Anything with Java |
| csvdiff |
Roland Schmitz |
GPL |
- |
2006 |
1.3a (April 1, 2007) |
Yes |
Yes |
Yes |
Anything with Perl |
| Name |
Creator |
Software license |
Cost |
First public release date |
Latest stable version |
Windows |
Macintosh |
Linux |
Other platforms |
[edit] Features
| Name |
GUI |
CLI |
Scripting |
Horizontal / Vertical |
Non-linear compare |
3-way comparison |
Directory comparison |
Binary comparison |
Merge |
Syntax Highlighting |
Reports |
| Softinterface 'Diff Doc' |
Yes |
Yes (and Full Automation API) |
|
both |
|
No |
Yes |
|
No |
Yes |
Yes DOC, HTML, CSV |
| Araxis Merge |
Yes |
Yes (and Full Automation API) |
|
both |
|
Yes (Professional Edition only) |
Yes |
Yes |
Yes |
Yes (since Araxis Merge 2007) |
Yes XML/HTML/HTML/Slideshow reports, UNIX diff |
| Beyond Compare |
Yes |
Yes |
Yes Custom |
optional |
|
No (Expected in Version 3, late 2008) |
Yes |
Yes |
Yes |
No (Expected in Version 3) |
Yes |
| ECMerge |
Yes |
Yes (+ActiveX available) |
Yes ECMAScript |
optional |
|
Yes (optional, and ancestor can be hidden) |
Yes |
|
Yes |
Yes |
Yes customizable XML/HTML/CSV/text reports, UNIX diff |
| Deltopia DeltaWalker |
Yes |
Yes |
|
both |
|
Yes |
Yes |
|
Yes |
No |
Yes HTML/XML, Patch creation |
| diff |
No |
Yes |
|
horizontal |
No |
No |
Yes |
|
|
|
|
| diff3 |
No |
Yes |
|
horizontal |
No |
Yes (non-optional) |
No |
|
|
|
|
| DiffDaff |
Yes |
No |
|
optional |
No |
No |
Yes |
|
No |
|
|
| DiffMerge |
Yes |
No |
|
vertical |
Yes |
Yes |
Yes |
|
Yes |
No |
Yes |
| Eclipse Compare |
Yes |
|
|
vertical |
|
Yes |
Yes |
|
Yes |
Yes |
|
| Ediff |
Yes |
No |
|
both |
|
Yes |
Yes |
|
Yes |
Yes |
|
| ExamDiff Pro |
Yes |
Yes |
|
optional |
|
No |
Yes |
Yes |
Yes |
No |
Yes, UNIX, HTML, and printable diff reports |
| Guiffy SureMerge |
Yes |
Yes (and API) |
|
both |
|
|
Yes |
|
Yes |
|
Yes HTML 4.01 / CSS - W3C validated |
| IntelliJ IDEA Compare |
Yes |
|
|
vertical |
|
Yes |
|
|
Yes |
Yes |
|
| jEdit JDiff plugin |
Yes |
|
|
both |
|
No |
|
|
Yes |
Yes |
|
| fc |
No |
Yes |
|
horizontal |
No |
No |
No |
|
No |
|
|
| FileMerge |
Yes |
Yes ('opendiff') |
|
vertical |
|
Yes (optional, by supplying an ancestor file/directory) |
Yes |
|
Yes |
Yes |
No |
| KDiff3 |
Yes |
Yes |
|
both |
|
Yes |
Yes |
Yes |
Yes |
|
|
| Kompare |
Yes |
|
|
vertical |
|
No |
Yes |
No |
|
No |
|
| LizardTF |
Yes |
No |
|
both |
|
Yes |
Yes |
v.stamps |
Yes |
|
|
| Meld |
Yes |
Yes |
|
vertical |
|
optional |
Yes |
No |
Yes |
|
|
| SmartSynchronize |
Yes |
Yes |
|
vertical |
|
Yes |
Yes |
|
Yes |
|
|
| SwiftCompare |
Yes |
|
|
|
|
No |
Yes |
|
Yes |
Yes |
Yes |
| TkDiff |
Yes |
|
|
|
|
No |
|
|
|
|
|
| TortoiseMerge |
Yes |
Yes |
|
|
|
Yes |
No |
|
Yes |
No |
No |
| Total Commander Compare |
Yes |
|
|
optional |
|
No |
Yes |
Yes |
Yes |
|
|
| UltraCompare |
|
|
|
|
|
|
|
|
|
|
|
| vimdiff |
Yes |
Yes |
|
both |
|
Yes |
Yes (via DirDiff plugin) |
|
|
Yes |
No |
| WinDiff |
Yes |
Yes |
|
horizontal |
Yes |
No |
Yes |
|
No |
No |
|
| WinMerge |
Yes |
Yes |
|
vertical |
Yes |
No |
Yes |
|
Yes |
Yes |
No |
| xxdiff |
Yes |
Yes |
|
optional |
Yes |
Yes |
Yes |
|
Yes |
|
|
| zsCompare |
Yes |
Yes |
|
horizontal |
|
No |
Yes |
|
Yes |
|
|
| csvdiff |
No |
Yes |
|
|
|
No |
No |
|
No |
No |
Yes |
| Name |
GUI |
CLI |
Scripting |
Horizontal / Vertical |
Non-linear compare |
3-way comparison |
Directory comparison |
Binary comparison |
Merge |
Syntax Highlighting |
Reports |
[edit] 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 |
| Araxis Merge |
|
Yes |
VSS, Perforce, Subversion |
Yes (UNIX diff) |
|
|
|
| Beyond Compare |
Yes |
Yes |
|
Yes |
|
|
Partial. Full in v3 Expected late 2008 |
| ECMerge |
Yes |
Yes |
CVS (1.11-, 1.12+), evolution, Perforce, Subversion, Visual SourceSafe |
Yes (3 formats, also for directories) |
Yes |
Yes |
Yes (UTF8, UTF16 LE/BE, UTF32 LE/BE) |
| diff |
No |
Yesfs |
|
|
|
|
|
| diff3 |
No |
Yesfs |
|
|
|
|
|
| DiffDaff |
No |
No |
|
|
|
|
|
| DiffMerge |
No |
No |
|
No |
|
|
Partial * |
| Eclipse Compare |
|
|
|
Yes |
|
|
|
| Ediff |
|
Yes |
|
Yes |
|
|
|
| ExamDiff Pro |
Yes (through a plug-in) |
Yes (through a plug-in) |
|
No |
|
|
|
| Guiffy SureMerge |
|
|
|
Yes |
|
|
Yes (File Compares: UTF8, UTF16, MBCS, SJIS, over 150 file encoding and character set formats, Folder Compares support Unicode file/folder names) |
| IntelliJ IDEA Compare |
|
|
|
|
|
|
|
| jEdit |
Yes |
Yes |
Subversion |
Yes |
Yes |
Yes |
Yes |
| fc |
No |
No |
|
No |
|
|
|
| FileMerge |
No |
Yes (supported by OS) |
|
No |
|
|
|
| KDiff3 |
(on KDE via KIO) |
(on KDE via KIO) |
|
|
|
|
Partial * |
| Kompare |
|
|
|
Yes |
|
|
|
| LizardTF |
|
|
Team Foundation Server (TFS) |
tba |
tba |
tba |
Yes |
| Meld |
|
|
Plugins for CVS, subversion, mercurial, git, bzr, darcs, monotone |
Yes |
|
|
Yes |
| SmartSynchronize |
No |
No |
|
No |
|
|
Yes |
| SwiftCompare |
No (In the next release) |
No (In the next release) |
|
|
|
|
|
| TkDiff |
|
|
|
|
|
|
|
| TortoiseMerge |
No |
No |
|
No |
|
|
|
| Total Commander Compare |
Yes |
|
|
|
|
|
|
| UltraCompare |
|
|
|
|
|
|
|
| vimdiff |
Yes |
Yes |
|
Yes |
|
|
Yes |
| WinDiff |
No |
No |
|
No |
|
|
No |
| WinMerge |
Yes |
No |
|
Yes |
|
|
Partial * |
| xxdiff |
No |
No |
|
|
|
|
|
| zsCompare |
Yes |
No |
|
Yes |
|
|
|
| csvdiff |
No |
No |
|
No |
|
|
|
| Name |
ZIP support |
FTP support |
Version Control browsing |
Patch creation |
Patch application |
Patch preview |
Unicode support |
- fs: Through filesystem (or filesystem plug-ins).
- * cannot identify UTF-8 files as unicode unless they have a BOM mark in the beginning.
[edit] Aspects
What aspects can be / are compared?
|
Filename casing |
CRC |
Filedate |
Daylight saving |
Character casing |
| Araxis Merge |
|
|
Yes (optional) |
Yes (optional) |
Yes (optional) |
| Beyond Compare |
No |
Yes |
Optional |
Optional |
Optional |
| ECMerge |
Yes (parametered) |
Yes (CRC32/MD5) |
Yes (optional) |
Yes (optional, also filesize) |
Yes (optional) |
| diff |
Optional |
|
|
|
Optional |
| diff3 |
|
|
|
|
|
| DiffDaff |
No |
No |
No |
No |
Yes |
| DiffMerge |
Yes (platform dependent) |
No |
Yes |
No |
Yes (optional) |
| Eclipse Compare |
|
|
|
|
|
| Ediff |
|
|
|
|
|
| ExamDiff Pro |
No |
Yes (optional) |
Yes (optional) |
Yes (optional) |
Yes (optional) |
| Guiffy SureMerge |
Yes (filesystem dependent) Plus, support of Unicode file/folder names |
|
Yes (optional) |
|
Yes (optional) |
| IntelliJ IDEA Compare |
|
|
|
|
|
| fc |
No |
|
|
|
Optional |
| FileMerge |
No |
No |
No |
|
Optional |
| KDiff3 |
Yes |
No |
Yes (optional) |
No |
Optional |
| Kompare |
Yes |
|
|
|
|
| Meld |
Yes (optional) |
No |
Yes |
No |
Yes |
| SmartSynchronize |
|
|
|
|
|
| SwiftCompare |
|
Yes |
Yes (optional) |
Yes (optional) |
Yes (optional) |
| TkDiff |
|
|
|
|
|
| TortoiseMerge |
|
|
|
|
|
| Total Commander Compare |
|
|
Optional |
|
Optional |
| UltraCompare |
|
|
|
|
|
| vimdiff |
No |
No |
No |
No |
Yes |
| WinDiff |
No |
No |
when different |
Yes |
Optional |
| WinMerge |
No |
No |
Optional |
|
Optional |
| xxdiff |
|
|
|
|
|
| zsCompare |
Yes (optional) |
Yes (Adler32, CRC32) |
Yes (optional) |
Yes (optional) |
Optional |
| csvdiff |
Yes (optional) |
|
|
|
Yes (optional) |
|
Filename casing |
CRC |
Filedate |
Daylight saving |
Character casing |
[edit] Software libraries
- Perl (found on CPAN)
- Algorithm::Diff
- Array::Diff
- Text::Diff
- XML::Diff