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 pro, 189 ent (single license), with a free 30 day trial version available |
|
v2010 |
Yes (Win 2000, XP, 2003 Server, Vista) |
No |
No |
|
| Aqua Data Studio |
AquaFold |
Proprietary |
USD 399 (single license), with a free 14 day trial version available |
2002 |
v8.0.4 |
Yes |
Yes |
Yes |
Anything with Java |
| Araxis Merge |
Araxis Ltd |
Proprietary |
USD 129 (std) - 269 (pro) |
1993 |
2009.3713 (May 18, 2009) |
Yes |
Yes |
No |
|
| Beyond Compare |
Scooter Software |
Proprietary |
USD 30 (std), 50 (pro) |
1996 |
3.1.9 (December 18, 2009) |
Yes (Win95 and up) |
No |
Yes (only 32-bit version available) |
|
| Columbo, (for tabular files) |
NobHill Software |
Proprietary |
USD 49.95,with a free 30 day trial version available |
2009 |
0.0.0.6(August, 2009) |
Yes (Win95 and up) |
No |
No |
| Compare It! |
Grig Software |
Proprietary |
USD 29 |
1998 |
4.1 (Mar 5, 2009) |
Yes |
No |
No |
|
| csvdiff |
Roland Schmitz |
GPL |
- |
2006 |
1.7 (February 11, 2009) |
Yes |
Yes |
Yes |
Anything with Perl |
| DeltaWalker |
Deltopia Inc |
Proprietary |
USD 40 (std), 76 (pro) |
2007 |
2009 (1.8.6 Jan 29, 2009) |
Yes |
Yes |
Yes |
|
| diff, diff3 |
AT&T |
BSD 3-clause, BSD 4-clause, GPL, Proprietary |
- |
1974 |
|
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 (Jun 6, 2006) |
Yes |
No |
No |
|
| DiffMerge |
SourceGear |
Proprietary |
Free |
2003 |
3.2.0 (May 29, 2008) |
Yes |
Yes |
Yes |
|
| Diffuse |
Derrick Moser |
GPL |
- |
2006 |
0.4.1 (Oct 12, 2009) |
Yes |
Yes (Source) |
Yes |
Anything with PyGTK |
| Eclipse Compare |
Eclipse |
EPL |
- |
|
|
Yes |
Yes (Mac OS X) |
Yes |
Anything with Java |
| ECMerge |
ElliƩ Computing |
Proprietary |
from USD 30 (std) / USD 50 (pro) / floating licence |
2005 |
2.2 (Nov 6, 2009) |
Yes (Win98 and up) |
Yes (Mac OS X) |
Yes |
Sun Solaris |
| 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 |
4.5.2.2 (July 1, 2009) |
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 |
USD 59 |
2000 |
9.0 (July 29, 2009) |
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.95 (2009-03-03) |
Yes |
Yes (Mac OS X) |
Yes |
|
| Kompare |
Otto Bruggeman |
GPL |
- |
|
3.5.0 (Nov 29, 2005) |
Yes (Cygwin) |
Yes (Mac OS X) |
Yes |
|
| Lazarus Diff |
Lazarus |
GPL |
- |
2000 |
2009 |
Yes |
Yes |
Yes |
FreeBSD |
| LizardTF |
Ian Cornwell |
GPL |
Free - part of LizardTF |
|
0.1.3 (Jan 10, 2008) |
Yes (Inc. 64bit) |
No |
No |
|
| MD5 File Comparison Tool |
Derek Trauger |
BSD 4-clause (equivalent) |
- |
2009 |
1.0.0 |
Yes |
No |
No |
|
| Meld |
Stephen Kennedy |
GPL |
- |
|
1.3 (Apr 18, 2009) |
No |
Yes (Mac OS X) |
Yes |
|
| Perforce P4Merge |
Perforce |
Free for personal use |
Free for personal use |
|
2008.1 (Aug 27, 2008) |
Yes |
Yes |
Yes |
Sun Solaris |
| Semantic Designs SmartDifferencer |
SmartDifferencer |
Proprietary |
Varies per language |
2009 |
1.x 2009 |
Yes |
No |
No |
|
| SmartSynchronize |
SyntEvo |
Proprietary |
USD 52 |
|
2.5.1 (Mar 11, 2007) |
Yes |
Yes |
Yes |
Anything with Java |
| 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 |
|
| SwiftCompare lite |
Oorja Software |
Proprietary |
Freeware |
|
1.3 (Sep 21, 2009) |
Yes (Win98 and up) |
No |
No |
|
| SwiftCompare |
Oorja Software |
Proprietary |
USD 27 |
|
1.3 (Jan 19, 2007) |
Yes (Win98 and up) |
No |
No |
|
| SyncEXPnet |
SyncEXP.net |
Proprietary |
USD 49 |
2002 |
3.7 (Feb 26, 2008) |
Yes |
No |
No |
|
| Tkdiff |
[5] |
GPL |
- |
|
4.1.3 (Feb 20, 2006) |
Yes (Tcl) |
Yes (Tcl) |
Yes (Tcl) |
Anything with Tcl |
| TortoiseMerge |
[6] |
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.12.0 (March 5, 2009) |
Yes (Win95 and up) |
No |
No |
|
| xxdiff |
Martin Blais |
GPL |
- |
2000 |
3.2 (Jun 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 |
| Name |
Creator |
Software license |
Cost |
First public release date |
Latest stable version |
Windows |
Macintosh |
Linux |
Other platforms |
Compare Features
| Name |
Show in-line changes |
Directory comparison |
Binary comparison |
Moved lines |
3-way comparison |
Merge |
| Altova DiffDog |
Yes |
Yes |
Yes |
|
No |
Yes |
| Aqua Data Studio |
Yes |
Yes |
|
|
|
|
| Araxis Merge |
Yes |
Yes |
Yes |
|
Yes (Professional Edition only) |
Yes |
| Beyond Compare |
Yes |
Yes |
Yes |
No |
Yes (Professional Edition only) |
Yes (Pro only) |
| Compare It! |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
| csvdiff |
|
No |
|
|
No |
No |
| DeltaWalker |
Yes |
Yes |
Yes |
|
Yes (Oro only) |
Yes |
| diff |
No |
Yes |
No |
No |
No |
No |
| diff3 |
No |
No |
|
|
Yes (non-optional) |
|
| Diff Commander |
|
|
|
|
|
|
| DiffDaff |
No |
Yes |
|
|
No |
No |
| DiffMerge |
Yes |
Yes |
|
|
Yes |
Yes |
| Diffuse |
Yes |
No |
|
|
Yes (n-way comparison) |
Yes |
| Eclipse Compare |
|
Yes |
|
|
Yes |
Yes |
| ECMerge |
Yes |
Yes |
|
|
Yes (optional, and ancestor can be hidden) |
Yes |
| Ediff |
|
Yes |
|
|
Yes |
Yes |
| ExamDiff Pro |
Yes |
Yes |
Yes |
|
No |
Yes |
| fc |
No |
No |
Yes |
|
No |
No |
| FileMerge |
Yes (alternate color within line diff) |
Yes |
Yes |
|
Yes (optional ancestor) |
Yes |
| Guiffy SureMerge |
|
Yes |
|
|
|
Yes |
| IntelliJ IDEA Compare |
|
|
|
|
Yes |
Yes |
| jEdit JDiff plugin |
|
|
|
|
No |
Yes |
| KDiff3 |
Yes |
Yes |
Yes |
|
Yes |
Yes |
| Kompare |
|
Yes |
No |
|
No |
|
| Lazarus Diff |
|
|
|
|
|
|
| LizardTF |
|
Yes |
v.stamps |
|
Yes |
Yes |
| Meld |
Yes |
Yes |
No |
|
Yes (optional) |
Yes |
| Perforce P4Merge |
Yes |
No |
No |
|
Yes |
Yes |
| Semantic Designs SmartDifferencer |
Yes {Source language constructs: move, insert, delete, rename} |
No |
No |
Yes |
No |
No |
| SmartSynchronize |
|
Yes |
|
|
Yes |
Yes |
| Softinterface Diff Doc |
|
Yes |
|
|
No |
No |
| SwiftCompare lite |
Yes |
Yes |
Yes |
No |
No |
Yes |
| SwiftCompare |
Yes |
Yes |
Yes |
No |
No |
Yes |
| Tkdiff |
No |
No |
No |
No |
No |
No |
| TortoiseMerge |
|
No |
|
|
Yes |
Yes |
| Total Commander Compare |
Yes |
Yes |
Yes |
|
No |
Yes |
| UltraCompare |
Yes |
Yes |
Yes |
|
Yes |
Yes |
| vimdiff |
Yes |
Yes (via DirDiff plugin) |
|
|
Yes |
|
| Visual Comparer |
|
|
|
|
|
|
| WinDiff |
Yes |
Yes |
No |
|
No |
No |
| WinMerge |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
| xxdiff |
Yes |
Yes |
No |
No |
Yes |
Yes |
| zsCompare |
|
Yes |
|
|
No |
Yes |
| Name |
Show in-line changes |
Directory comparison |
Binary comparison |
Moved lines |
3-way comparison |
Merge |
API / Editor Features
| Name |
GUI |
CLI |
Scripting |
Horizontal / Vertical |
Syntax Highlighting |
Reports |
| Altova DiffDog |
Yes |
Yes |
|
both |
Yes |
XML, UNIX Diff |
| Aqua Data Studio |
Yes |
|
|
|
No |
HTML |
| Araxis Merge |
Yes |
Yes |
Yes |
both |
since Araxis Merge 2007 |
XML, HTML, Slideshow, diff |
| Beyond Compare |
Yes |
Yes |
Yes |
optional |
Yes |
XML, HTML, CSV |
| Compare It! |
Yes |
Yes |
No |
both |
Yes |
HTML, Text, diff |
| csvdiff |
No |
Yes |
|
|
No |
Yes |
| DeltaWalker |
Yes |
Yes |
|
both |
No |
HTML, XML |
| diff |
No |
Yes |
|
horizontal |
|
|
| diff3 |
No |
Yes |
|
horizontal |
|
|
| Diff Commander |
|
|
|
|
|
|
| DiffDaff |
Yes |
No |
|
optional |
|
|
| DiffMerge |
Yes |
No |
|
vertical |
No |
Yes |
| Diffuse |
Yes |
Yes |
|
vertical |
Yes |
|
| Eclipse Compare |
Yes |
|
|
vertical |
Yes |
|
| ECMerge |
Yes |
Yes |
ECMAScript |
optional |
Yes |
XML, HTML, CSV, Text, Diff |
| Ediff |
Yes |
No |
|
both |
Yes |
|
| ExamDiff Pro |
Yes |
Yes |
|
optional |
Yes |
UNIX, HTML, Diff |
| fc |
No |
Yes |
|
horizontal |
|
|
| FileMerge |
Yes |
Yes |
|
vertical |
Yes |
No |
| Guiffy SureMerge |
Yes |
Yes |
|
both |
Yes |
HTML |
| IntelliJ IDEA Compare |
Yes |
|
|
vertical |
Yes |
|
| jEdit JDiff plugin |
Yes |
|
|
both |
Yes |
|
| KDiff3 |
Yes |
Yes |
|
both |
|
|
| Kompare |
Yes |
|
|
vertical |
No |
|
| Lazarus Diff |
Yes |
|
|
|
Yes |
|
| LizardTF |
Yes |
No |
|
both |
|
|
| Meld |
Yes |
Yes |
|
vertical |
Yes |
No |
| Perforce P4Merge |
Yes |
Yes |
|
vertical |
No |
No |
| Semantic Designs SmartDifferencer |
No |
Yes |
|
|
No |
Generalized Diff |
| SmartSynchronize |
Yes |
Yes |
|
vertical |
|
|
| Softinterface Diff Doc |
Yes |
Yes |
|
both |
Yes |
.doc, HTML, CSV |
| SwiftCompare lite |
Yes |
No |
No |
vertical |
Yes |
Yes |
| SwiftCompare |
Yes |
No |
No |
vertical |
Yes |
Yes |
| Tkdiff |
Yes |
|
|
|
|
|
| TortoiseMerge |
Yes |
Yes |
|
|
No |
No |
| Total Commander Compare |
Yes |
|
|
optional |
|
|
| UltraCompare |
Yes |
Yes |
No |
Yes |
No |
Unix diff |
| vimdiff |
Yes |
Yes |
vim script |
both |
Yes |
No |
| Visual Comparer |
|
|
|
|
|
|
| WinDiff |
Yes |
Yes |
|
horizontal |
No |
|
| WinMerge |
Yes |
Yes |
|
vertical |
Yes |
CSV, Tab-delimited, HTML, XML |
| xxdiff |
Yes |
Yes |
|
optional |
|
|
| zsCompare |
Yes |
Yes |
|
horizontal |
|
|
| 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 |
| Altova DiffDog |
Yes |
Yes |
CVS |
Yes |
|
|
Yes |
Yes |
| Araxis Merge |
No |
Yes |
Perforce[1], Subversion[2], Visual SourceSafe[3], AllChange[4] |
UNIX diff |
|
|
Yes[5] |
Partial[6] |
| Beyond Compare |
Yes |
Yes |
|
Yes |
|
|
Yes |
|
| Compare It! |
|
|
|
|
|
|
|
|
| csvdiff |
No |
No |
|
No |
|
|
|
|
| DeltaWalker |
Yes |
Yes |
|
Yes |
|
|
Yes |
|
| diff |
No |
No |
No |
Yes |
No |
No |
No |
No |
| diff3 |
No |
No |
|
|
|
|
|
No |
| Diff Commander |
|
|
|
|
|
|
|
|
| DiffDaff |
No |
No |
|
|
|
|
|
|
| DiffMerge |
No |
No |
|
No |
|
|
Partial[clarification needed] |
|
| Diffuse |
|
|
|
|
|
|
Yes |
|
| ECMerge |
Yes |
Yes |
CVS (1.11-, 1.12+), evolution, Perforce, Subversion, Visual SourceSafe, Mercurial |
Yes |
Yes |
Yes |
UTF8, UTF16 LE/BE, UTF32 LE/BE |
can reformat XML for easier handling in text diff/merge |
| Ediff |
|
Yes |
|
Yes |
|
|
|
|
| ExamDiff Pro |
Yes[7] |
Yes[8] |
|
normal diff only |
|
|
Yes |
|
| fc |
No |
No |
|
No |
|
|
|
|
| FileMerge |
No |
supported by OS |
|
No |
|
|
No |
No |
| Guiffy SureMerge |
Yes |
|
|
Yes |
|
|
Yes[9] |
|
| jEdit |
Yes |
Yes |
Subversion |
Yes |
Yes |
Yes |
Yes |
|
| KDiff3 |
on KDE via KIO |
on KDE via KIO |
|
|
|
|
Partial[10] |
|
| Kompare |
|
|
|
Yes |
|
|
|
|
| Lazarus Diff |
|
|
|
|
|
|
|
|
| LizardTF |
|
|
Team Foundation Server |
|
|
|
Yes |
|
| Meld |
|
|
CVS, subversion, mercurial, git, bzr, darcs, monotone |
Yes |
|
|
Yes |
|
| Perforce P4Merge |
|
|
No |
|
|
|
Yes |
|
| Semantic Designs SmartDifferencer |
No |
No |
No |
No |
|
|
Yes |
|
| SmartSynchronize |
No |
No |
|
No |
|
|
Yes |
|
| Softinterface Diff Doc |
|
|
|
|
|
|
|
|
| SwiftCompare |
No |
No |
|
|
|
|
|
|
| Tkdiff |
No |
No |
CVS, RCS |
No |
No |
No |
No |
No |
| TortoiseMerge |
No |
No |
|
No |
|
|
|
|
| Total Commander Compare |
Yes |
|
|
|
|
|
|
|
| UltraCompare |
|
Yes |
|
|
|
|
|
|
| vimdiff |
Yes |
Yes |
|
Yes |
|
|
Yes |
|
| Visual Comparer |
|
|
|
|
|
|
|
|
| WinDiff |
No |
No |
|
No |
|
|
No |
|
| WinMerge |
Yes |
No |
Mercurial[11], SubVersion[12], Visual Source Safe, Rational ClearCase[13] |
Yes |
|
|
Yes |
|
| xxdiff |
No |
No |
No |
No |
No |
No |
No |
No |
| zsCompare |
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?
|
Filename casing |
CRC |
Filedate |
Daylight saving |
Character casing |
| Altova DiffDog |
|
|
Yes |
Yes |
Yes |
| Araxis Merge |
|
|
Yes |
Yes |
Yes |
| Beyond Compare |
Yes |
Yes |
Yes |
Yes |
Yes |
| Compare It! |
|
|
|
|
|
| csvdiff |
Yes |
|
|
|
Yes |
| DeltaWalker |
platform dependent |
|
Yes |
Yes |
Yes |
| diff |
Yes |
No |
No |
No |
Optional |
| diff3 |
|
|
|
|
|
| Diff Commander |
|
|
|
|
|
| DiffDaff |
No |
No |
No |
No |
Yes |
| DiffMerge |
platform dependent |
No |
Yes |
No |
Yes |
| Diffuse |
|
|
|
|
|
| Eclipse Compare |
|
|
|
|
|
| ECMerge |
Yes |
CRC32/MD5 |
Yes |
Yes |
Yes |
| Ediff |
|
|
|
|
|
| ExamDiff Pro |
No |
Yes |
Yes |
Yes |
Yes |
| fc |
No |
|
|
|
Optional |
| FileMerge |
No |
No |
No |
|
Optional |
| Guiffy SureMerge |
filesystem dependent |
|
Yes |
|
Yes |
| IntelliJ IDEA Compare |
|
|
|
|
|
| KDiff3 |
Yes |
No |
Yes |
No |
Optional |
| Kompare |
Yes |
|
|
|
|
| Lazarus Diff |
|
|
|
|
|
| LizardTF |
|
|
|
|
|
| Meld |
Yes |
No |
Yes |
No |
No |
| Perforce P4Merge |
N/A |
No |
No |
No |
Yes |
| Semantic Design SmartDifferencer |
|
|
|
|
|
| SmartSynchronize |
|
|
|
|
|
| Softinterface Diff Doc |
|
|
|
|
|
| SwiftCompare lite |
|
Yes |
Yes |
Yes |
Yes |
| SwiftCompare |
|
Yes |
Yes |
Yes |
Yes |
| Tkdiff |
|
|
|
|
|
| TortoiseMerge |
|
|
|
|
|
| Total Commander Compare |
|
|
Optional |
|
Optional |
| UltraCompare |
|
|
|
|
|
| vimdiff |
No |
No |
No |
No |
Yes |
| Visual Comparer |
|
|
|
|
|
| WinDiff |
No |
No |
when different |
Yes |
Optional |
| WinMerge |
No |
No |
Optional |
|
Optional |
| xxdiff |
Yes |
No |
No |
No |
Optional |
| zsCompare |
Yes |
Adler32, CRC32) |
Yes |
Yes |
Optional |
|
Filename casing |
CRC |
Filedate |
Daylight saving |
Character casing |
See also
References
Software libraries
- Perl (found on CPAN)
- Algorithm::Diff
- Array::Diff
- Text::Diff
- XML::Diff
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)