Jump to content

Comparison of file comparison tools

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by TreeBread (talk | contribs) at 15:16, 19 May 2009 (General). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 149 (single license), with a free 30 day trial version available v2008r2sp2 Yes (Win 2000, XP, 2003 Server, Vista) No No
Araxis Merge Araxis Ltd Proprietary USD 129 (std) - 269 (pro) 1993 2008.3626 (Nov 11, 2008) Yes Yes No
Beyond Compare Scooter Software Proprietary USD 30 (std), 50 (pro) 1996 3.1.3 (May 14, 2009) Yes (Win95 and up) No Yes (only 32-bit version available)
Compare It! Grig Software Proprietary USD 29 3.86 (Jan 8, 2006) Yes No No
csvdiff Roland Schmitz GPL - 2006 1.6 (March 21, 2008) 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 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 (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.3.3 (Apr 13, 2009) Yes Yes (Fink) Yes Anything with PyGTK
Eclipse Compare Eclipse Free - Yes Yes (Mac OS X) Yes Anything with Java
ECMerge Ellié Computing Proprietary from USD 30 (std) / USD 60 (pro) / floating licence 2005 2.2 (Feb 16, 2008 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.0.2.11 (Jun 4, 2008) 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.94 (Jan 17, 2009) Yes Yes (Mac OS X) Yes
Kompare Otto Bruggeman GPL - 3.5.0 (Nov 29, 2005) Yes (Cygwin) No 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 Free - 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
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 Oorja Software Proprietary USD 27 1.1 (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 [1] GPL - 4.1.3 (Feb 20, 2006) Yes (Tcl) Yes (Tcl) Yes (Tcl) Anything with Tcl
TortoiseMerge [2] 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 Δ < whole line Directory comparison Binary comparison Moved lines 3-way comparison Merge
Altova DiffDog Yes Yes Yes No 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!
csvdiff No No No
DeltaWalker Yes Yes Yes Yes (Oro only) Yes
diff No Yes 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 Yes (optional, by supplying an ancestor file/directory) Yes
Guiffy SureMerge Yes Yes
IntelliJ IDEA Compare Yes Yes
jEdit JDiff plugin No Yes
KDiff3 Yes Yes Yes Yes
Kompare Yes No No
Lazarus Diff
LizardTF Yes v.stamps Yes Yes
Meld Yes No Yes (optional) Yes
Perforce P4Merge Yes No No Yes Yes
SmartSynchronize Yes Yes Yes
Softinterface Diff Doc Yes No No
SwiftCompare Yes No Yes
Tkdiff 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
WinMerge Yes Yes No Yes No Yes
xxdiff Yes Yes Yes Yes
zsCompare Yes No Yes
Name Show Δ < whole line 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 Yes XML, UNIX Diff
Araxis Merge Yes Yes (and Full Automation API) both Yes (since Araxis Merge 2007) Yes XML/HTML/HTML/Slideshow reports, UNIX diff
Beyond Compare Yes Yes Yes Custom optional Yes Yes XML/HTML/CSV
Compare It!
csvdiff No Yes No Yes
DeltaWalker Yes Yes both No Yes 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 (+ActiveX available) Yes ECMAScript optional Yes Yes customizable XML/HTML/CSV/text reports, UNIX diff
Ediff Yes No both Yes
ExamDiff Pro Yes Yes optional Yes Yes, UNIX, HTML, and printable diff reports
fc No Yes horizontal
FileMerge Yes Yes ('opendiff') vertical Yes No
Guiffy SureMerge Yes Yes (and API) both Yes HTML 4.01 / CSS - W3C validated
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
SmartSynchronize Yes Yes vertical
Softinterface Diff Doc Yes Yes (and Full Automation API) both Yes Yes DOC, HTML, CSV
SwiftCompare Yes 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 Yes vim script both Yes No
Visual Comparer
WinDiff Yes Yes horizontal No
WinMerge Yes Yes vertical Yes Yes (Recent versions: 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
Altova DiffDog Yes Yes CVS Yes
Araxis Merge Yes VSS, Perforce, Subversion Yes (UNIX diff)
Beyond Compare Yes Yes Yes Yes
Compare It!
csvdiff No No No
DeltaWalker Yes Yes (S)FTP, HTTP(S), WebDAV Yes Yes
diff No Yesfs Yes
diff3 No Yesfs
Diff Commander
DiffDaff No No
DiffMerge No No No Partial *
Diffuse Yes
Eclipse Compare Yes
ECMerge Yes 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)
Ediff Yes Yes
ExamDiff Pro Yes (through a plug-in) Yes (through a plug-in) No Yes
fc No No No
FileMerge No Yes (supported by OS) 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
KDiff3 (on KDE via KIO) (on KDE via KIO) Partial *
Kompare Yes
Lazarus Diff
LizardTF Team Foundation Server (TFS) tba tba tba Yes
Meld Plugins for CVS, subversion, mercurial, git, bzr, darcs, monotone Yes Yes
Perforce P4Merge Yes
SmartSynchronize No No No Yes
Softinterface Diff Doc
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
Visual Comparer
WinDiff No No No No
WinMerge Yes No Yes Yes
xxdiff No No
zsCompare Yes No Yes
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.

Aspects

What aspects can be / are compared?

Filename casing CRC Filedate Daylight saving Character casing
Altova DiffDog Yes Yes Yes
Araxis Merge Yes (optional) Yes (optional) Yes (optional)
Beyond Compare Yes Yes Yes Yes Yes
Compare It!
csvdiff Yes (optional) Yes (optional)
DeltaWalker Yes (platform dependent) Yes Yes Yes (optional)
diff Optional Optional
diff3
Diff Commander
DiffDaff No No No No Yes
DiffMerge Yes (platform dependent) No Yes No Yes (optional)
Diffuse
Eclipse Compare
ECMerge Yes (parametered) Yes (CRC32/MD5) Yes (optional) Yes (optional, also filesize) Yes (optional)
Ediff
ExamDiff Pro No Yes (optional) Yes (optional) Yes (optional) Yes (optional)
fc No Optional
FileMerge No No No Optional
Guiffy SureMerge Yes (filesystem dependent) Plus, support of Unicode file/folder names Yes (optional) Yes (optional)
IntelliJ IDEA Compare
KDiff3 Yes No Yes (optional) No Optional
Kompare Yes
Lazarus Diff
LizardTF
Meld Yes (optional) No Yes No Yes
Perforce P4Merge
SmartSynchronize
Softinterface Diff Doc
SwiftCompare Yes Yes (optional) Yes (optional) Yes (optional)
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
zsCompare Yes (optional) Yes (Adler32, CRC32) Yes (optional) Yes (optional) Optional
Filename casing CRC Filedate Daylight saving Character casing

See also

Software libraries

  • Perl (found on CPAN)
    • Algorithm::Diff
    • Array::Diff
    • Text::Diff
    • XML::Diff