Comparison of file comparison tools
This article compares computer software tools that compare files , and in many cases directories or folders , whether it is their main purpose or as part of more general file management .
General
Basic general information about file comparison software.
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
2024-11-25 (v5.0.4)
Yes
Yes
Yes
> 2GB (64 bits)
Compare++
Coode Software[ 2]
No; Proprietary
No
2010
2016-7-17 (3.0.1.0b)
Yes[ 3]
No
No
diff , diff3
AT&T
Yes; BSD 3-clause , BSD 4-clause , CDDL , GPL, Proprietary
Yes
1974
No
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[ a]
Yes (Mac OS X )
Yes
Anything with Emacs and diff
ExamDiff Pro
PrestoSoft[ 5]
No; Proprietary
No
1998
2025-01-04 (Build 15.0.1.22)
Yes (WinXP and up)
Yes (in Wine)
Yes (in Wine)
Far Manager (compare)
Eugene Roshal (original); FAR Group
Yes; Revised BSD license
Yes
1996
2022-02-02 (v3.0 build 5959)
Yes
No
No
There's a beta-version of far2l,[ 6] a Linux fork of FAR Manager v2 which also works on OSX/MacOS and BSD.
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
FreeFileSync [data missing ]
Zenju
Yes; GPLv3
Yes
2008
2023-10-23 (v13.2)
Yes
Yes
Yes
Guiffy SureMerge
Guiffy Software[ 9]
No; Proprietary
No
2000
2024-05-07 (v12.3)
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
2020-09-03 (5.6.0)
Yes
Yes
Yes
Anything with Java
Lazarus Diff
Lazarus (software)
Yes; GPL
Yes
2000
2020-07-11 (2.0.10)
Yes
Yes
Yes
FreeBSD
Meld
Stephen Kennedy[ 12]
Yes; GPLv2+
Yes
2002
2024-03-24 (3.22.2)
Yes[ 13]
Yes
Yes
BSD , Solaris
Notepad++ (compare)
Various
Yes; GPLv3
Yes
2009
2015-01-06 (1.5.6.6)
Yes[ 14]
No
No
Perforce P4Merge
Perforce
No; Proprietary
Yes
2019 (2019.1/1815056)
Yes
Yes
Yes
Sun Solaris
Pretty Diff
Austin Cheney[ 15]
Yes; MIT-compatible
Yes
2009
2019-09-02 (101.2.6)
Yes (Web )
Yes (Web )
Yes (Web )
Node.js
Tkdiff
Tkdiff[ 16]
Yes; GPLv2+
Yes
2003 (or before)
2021-03-24 (v5.2.1)
Yes (Tcl )
Yes (Tcl)
Yes (Tcl)
Anything with Tcl
Total Commander (compare)
Christian Ghisler[ 17]
No; Proprietary
No
2020-03-25 (v9.51)
Yes
No
No
twdiff (TextWrangler Diff Helper)[data missing ]
Bare Bones Software, Inc.[ 18]
No; Proprietary
Yes; with TextWrangler
2012 (1.0 (v22))
No
Yes
No
No
vimdiff
Bram Moolenaar et al.
Yes; GPL-compatible[ 19]
Yes
2001
2016-10-03 (v8.0.0022)
Yes
Yes
Yes
Anything with vim
WinDiff
Microsoft[ 20]
No; Proprietary
Yes; Part of Platform SDK
1992
2010-05-14 (v6.1.7716.0)
Yes
No
No
No
WinMerge
Dean Grimm[ 21]
Yes; GPL
Yes
1998
2024-07-28 (v2.16.42.1)[ 22]
Yes (Win95 and up)
Yes (in wine[ 23] )
Yes (in wine[ 23] )
2 GB
KDiff3 [data missing ] (part of KDE SDK,[ 24] as well as a plug-in to KDE Dolphin file manager)[ 25] [ 26]
Joachim Eibl and KDE SDK KDiff3 Team[ 27]
Yes GPL v2
Yes
<2004 (v0.9.86)
2023-01-13 (v1.10)
Yes as part of KDevelop KDE SDK download site or from Windows store or KDE download site (most recent version) as separate application.
Yes Can be downloaded from KDE SDK download site or as separate stand-alone application from KDE download site
Yes Install from your Linux distribution repositories, or as AppStream , from [1] , or as GIT project KDE Gitlab [ 28] or from/on [2] .[ 29]
Any other Unix with KDE/KF5, Qt5 and CMake, e.g. FreeBSD [ 30] & NetBSD [ 31]
?
Name
Creator
FOSS
Free
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[ b]
Manual compare alignment
Image compare
Beyond Compare
Yes
Yes
Yes
Yes
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[ 32]
Yes (ExamDiff Pro Master only)[ 33]
Yes
manual synchronization
Far Manager (compare)
Yes (Via plugin)[ 34]
Yes
Yes
Yes (Via plugin)[ 34]
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
No
Yes
Yes
Yes
Yes
jEdit JDiff plugin
Yes
No
Yes
Lazarus Diff
Meld
Yes
Yes
No
No
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
Yes
Yes (via Options)
Yes
Yes
Yes
Yes
Name
Show in-line changes
Directory comparison
Binary comparison
Moved lines
3-way comparison
Merge
Structured comparison[ b]
Manual compare alignment
Image compare
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
Yes pipe to diff-highlight[ 35]
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
Lazarus Diff
Yes
Yes
Meld
Yes
No
Yes
No
Notepad++ (compare)
Yes
Yes
Both
Yes
No
Perforce P4Merge
Yes
Yes
Vertical
Yes
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
Both
Yes
CSV, Tab-delimited, HTML, XML
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
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)[ 36]
Yes
Yes
Yes
ExamDiff Pro
Yes[ 37]
Yes[ 38]
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[ c]
IntelliJ IDEA (compare)
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
jEdit JDiff plugin
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Lazarus Diff
Meld
CVS , Subversion , Git , Mercurial , Baazar
Yes
Yes
Notepad++ (compare)
No
Yes[ 39]
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,[ 40] Subversion,[ 41] Visual Source Safe, Rational ClearCase[ 42]
Yes
Yes
Name
ZIP support
FTP support
SFTP support
Version control browsing
Patch creation
Patch application
Patch preview
Unicode support
XML-aware
Aspects
What aspects can be / are compared?
Time zone effects
When files are transferred across time zones and between Microsoft FAT and NTFS file systems , the timestamp displayed by the same file may change, so that identical files with different storage histories are deemed different by a comparer that requires the timestamps to match. The difference is an exact number of quarters of an hour up to 95 (same minutes modulo 15 and seconds) if the file was transported across zones; there is also a one-hour difference within a single zone caused by the transition between standard time and daylight saving time (DST). Some, but not all, file comparison and synchronisation software can be configured to ignore the DST and time-zone differences.[ d] Software known to have daylight-saving compensation is marked in the Aspects table.
See also
Notes
^ Ediff requires a diff utility to function. As of December 2017, diff is not bundled with Emacs or Windows, so use of Ediff in a Windows environment requires installation of both Emacs and a diff implementation like GNU diff.
^ a b Compare logical sections (class, methods).
^ UTF8, UTF16, MBCS, SJIS, over 150 file encoding and character set formats.
^ Example: "Beyond Compare" help describes a user setting "timezone differences – ignores timestamp differences that are multiples of an exact hour."
References