Comparison of file comparison tools

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description Script error: No such module "Labelled list hatnote". 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. Template:Sort-under

Name Creator FOSS Free First public release date Year of latest stable version Windows Macintosh Linux Other platforms Max supported file size
Template:Rh | Beyond Compare Scooter Software[1] No; Proprietary No 1996 2025-06-04 (v5.1.0) Yes Yes Yes > 2GB (64 bits)
Template:Rh | Compare++ Coode Software[2] No; Proprietary No 2010 2016-7-17 (3.0.1.0b) Yes[3] No No
Template:Rh | 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
Template:Rh | Eclipse (compare) Yes; Eclipse Public License Yes 2004-07-21 2016-09-28 (4.6.1 (Neon.1)) Yes Yes Yes Anything with Java
Template:Rh | Ediff Michael Kifer[4] Yes; GPL Yes 1994 2.81.4 YesTemplate:Efn Yes (Mac OS X) Yes Anything with Emacs and diff
Template:Rh | ExamDiff Pro PrestoSoft[5] No; Proprietary No 1998 2025-06-04 (Build 16.0.1.3) Yes (WinXP and up) Yes (in Wine) Yes (in Wine)
Template:Rh | 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.
Template:Rh | fc Microsoft[7] No; Proprietary Yes; Part of OS 1987 Yes (DOS) No No
Template:Rh | 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
Template:Rh | FreeFileSyncTemplate:Data missing Zenju Yes; GPLv3 Yes 2008 2023-10-23 (v13.2) Yes Yes Yes
Template:Rh | Guiffy SureMerge Guiffy Software[9] No; Proprietary No 2000 2025-05-06 (v12.4) Yes Yes Yes Anything with Java > 2GB
Template:Rh | IntelliJ IDEA (compare) JetBrains[10] No; Proprietary No 2001 2019-08-20 (2019.2.1) Yes Yes Yes
Template:Rh | jEdit JDiff plugin Various[11] Yes; GPL Yes 1998 2020-09-03 (5.6.0) Yes Yes Yes Anything with Java
Template:Rh | Lazarus Diff Lazarus (software) Yes; GPL Yes 2000 2020-07-11 (2.0.10) Yes Yes Yes FreeBSD
Template:Rh | Meld Stephen Kennedy[12] Yes; GPLv2+ Yes 2002 2024-03-24 (3.22.2) Yes[13] Yes Yes BSD, Solaris
Template:Rh | Notepad++ (compare) Various Yes; GPLv3 Yes 2009 2015-01-06 (1.5.6.6) Yes[14] No No
Template:Rh | Perforce P4Merge Perforce No; Proprietary Yes 2019 (2019.1/1815056) Yes Yes Yes Sun Solaris
Template:Rh | Pretty Diff Austin Cheney[15] Yes; MIT-compatible Yes 2009 2019-09-02 (101.2.6) Yes (Web) Yes (Web) Yes (Web) Node.js
Template:Rh | Tkdiff Tkdiff[16] Yes; GPLv2+ Yes 2003 (or before) 2021-03-24 (v5.2.1) Yes (Tcl) Yes (Tcl) Yes (Tcl) Anything with Tcl
Template:Rh | Total Commander (compare) Christian Ghisler[17] No; Proprietary No 2020-03-25 (v9.51) Yes No No
Template:Rh | twdiff (TextWrangler Diff Helper)Template:Data missing Bare Bones Software, Inc.[18] No; Proprietary Yes; with TextWrangler 2012 (1.0 (v22)) No Yes No No
Template:Rh | vimdiff Bram Moolenaar et al. Yes; GPL-compatible[19] Yes 2001 2016-10-03 (v8.0.0022) Yes Yes Yes Anything with vim
Template:Rh | WinDiff Microsoft[20] No; Proprietary Yes; Part of Platform SDK 1992 2010-05-14 (v6.1.7716.0) Yes No No No
Template:Rh | WinMerge Dean Grimm[21] Yes; GPL Yes 1998 2025-04-27 (v2.16.48)[22] Yes (Win95 and up) Yes (in wine[23]) Yes (in wine[23]) 2 GB
Template:Rh | KDiff3Template: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

Template:Sort-under

Name Show
in-line
changes
Directory comparison Template:Verth Moved lines 3-way comparison Merge Structured comparisonTemplate:Efn Manual compare alignment Template:Verth
Template:Rh | Beyond Compare Yes Yes Yes Yes Yes (Files and Folders) Yes (Pro only) Yes Yes
Template:Rh | Compare++ Yes Yes Yes Yes Yes (C/C++, C#, Java, JavaScript, CSS3)
Template:Rh | diff No Yes partly No No No
Template:Rh | diff3 No No Yes (non-optional)
Template:Rh | Eclipse (compare) Yes No (only ancestor) Yes No
Template:Rh | Ediff Yes Yes Yes Yes Yes
Template:Rh | ExamDiff Pro Yes Yes Yes Yes[32] Yes (ExamDiff Pro Master only)[33] Yes manual synchronization
Template:Rh | Far Manager (compare) Yes (Via plugin)[34] Yes Yes Yes (Via plugin)[34] No No
Template:Rh | fc No No Yes No No
Template:Rh | FileMerge (aka opendiff) Yes Yes Yes Yes (optional ancestor) Yes
Template:Rh | Guiffy SureMerge Yes Yes Yes Yes Yes Yes Yes
Template:Rh | IntelliJ IDEA (compare) Yes Yes Yes No Yes Yes Yes Yes
Template:Rh | jEdit JDiff plugin Yes No Yes
Template:Rh | Lazarus Diff
Template:Rh | Meld Yes Yes No No Yes Yes line alignment, unlink scroll
Template:Rh | Notepad++ (compare) Yes No No Yes No No No
Template:Rh | Perforce P4Merge Yes No No Yes Yes Yes
Template:Rh | Pretty Diff Yes Yes No No No No Yes No
Template:Rh | Tkdiff Yes No No No No No
Template:Rh | Total Commander (compare) Yes Yes Yes No No Yes No resync comparison No
Template:Rh | vimdiff Yes Yes (via DirDiff plugin) Yes Yes
Template:Rh | WinDiff Yes Yes Yes Yes No No
Template:Rh | WinMerge Yes Yes Yes Yes (via Options) Yes Yes Yes Yes
Name Show
in-line
changes
Directory comparison Template:Verth Moved lines 3-way comparison Merge Structured comparisonTemplate:Efn Manual compare alignment Template:Verth

API / editor features

Name GUI CLI Scripting Horizontal / vertical Syntax highlighting Reports
Template:Rh | Beyond Compare Yes Yes Yes Both Yes XML, HTML, CSV, Text, Unix Patch
Template:Rh | Compare++ Yes Yes Both Yes HTML, Text(combined or side-by-side)
Template:Rh | diff No Yes Horizontal Yes pipe to diff-highlight[35]
Template:Rh | diff3 No Yes Horizontal
Template:Rh | Eclipse (compare) Yes Vertical Yes
Template:Rh | Ediff Yes Yes elisp Both Yes
Template:Rh | ExamDiff Pro Yes Yes optional Yes UNIX, HTML, Diff
Template:Rh | Far Manager (compare) Yes Yes Yes Yes No
Template:Rh | fc No Yes Horizontal
Template:Rh | FileMerge (aka opendiff) Yes Yes Vertical Yes No
Template:Rh | Guiffy SureMerge Yes Yes Java API Both Yes HTML, Text, Unix Patch
Template:Rh | IntelliJ IDEA (compare) Yes Yes Vertical Yes
Template:Rh | jEdit JDiff plugin Yes Both Yes
Template:Rh | Lazarus Diff Yes Yes
Template:Rh | Meld Yes No Yes No
Template:Rh | Notepad++ (compare) Yes Yes Both Yes No
Template:Rh | Perforce P4Merge Yes Yes Vertical Yes No
Template:Rh | Pretty Diff Yes Yes JavaScript Both Yes XHTML
Template:Rh | Tkdiff Yes
Template:Rh | Total Commander (compare) Yes Both No No
Template:Rh | vimdiff Yes Yes vim script Both Yes HTML
Template:Rh | WinDiff Yes Yes Horizontal No Text
Template:Rh | 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
Template:Rh | Beyond Compare Yes Yes Yes SVN Yes Yes Yes Yes
Template:Rh | Compare++ SVN, CVS, Git, Microsoft TFS, Perforce, VSS using command line Yes
Template:Rh | diff No No No Yes Yes with patch Yes with patch No No
Template:Rh | diff3 No No No
Template:Rh | Eclipse (compare) Yes CVS, Subversion, Git, Mercurial, Baazar Yes
Template:Rh | Ediff Yes Yes RCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)[36] Yes Yes Yes
Template:Rh | ExamDiff Pro Yes[37] Yes[38] normal diff only Yes
Template:Rh | Far Manager (compare) No No No No No No Yes No
Template:Rh | fc No No No
Template:Rh | FileMerge (aka opendiff) No supported by OS No No No
Template:Rh | Guiffy SureMerge Yes Yes Yes Yes YesTemplate:Efn
Template:Rh | IntelliJ IDEA (compare) Yes Yes Yes Yes Yes Yes Yes Yes
Template:Rh | jEdit JDiff plugin Yes Yes Yes Yes Yes Yes Yes
Template:Rh | Lazarus Diff
Template:Rh | Meld CVS, Subversion, Git, Mercurial, Baazar Yes Yes
Template:Rh | Notepad++ (compare) No Yes[39] Git, Subversion (compare against base) No No No Yes No
Template:Rh | Perforce P4Merge No Yes
Template:Rh | Pretty Diff No No No No No No No Yes Yes
Template:Rh | Tkdiff No No CVS, RCS, Subversion No No No No No
Template:Rh | Total Commander (compare) Yes Yes Yes No No No No Yes No
Template:Rh | vimdiff Yes Yes Yes Yes
Template:Rh | WinDiff No No No No
Template:Rh | 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?

Name Filename casing CRC Filedate Daylight saving Character casing
Template:Rh | Beyond Compare Yes Yes Yes Yes Yes
Template:Rh | Compare++ Yes Yes Yes Yes
Template:Rh | diff Yes No No No Optional
Template:Rh | diff3
Template:Rh | Eclipse (compare)
Template:Rh | Ediff
Template:Rh | ExamDiff Pro No Yes Yes Yes Yes
Template:Rh | Far Manager (compare) Yes No Yes No Yes
Template:Rh | fc No Optional
Template:Rh | FileMerge (aka opendiff) No No No Optional
Template:Rh | Guiffy SureMerge filesystem dependent Yes Yes
Template:Rh | IntelliJ IDEA (compare)
Template:Rh | jEdit JDiff plugin
Template:Rh | Lazarus Diff
Template:Rh | Meld
Template:Rh | Notepad++ (compare) No No No Yes
Template:Rh | Perforce P4Merge No No No Yes
Template:Rh | Pretty Diff No No No Optional
Template:Rh | Tkdiff
Template:Rh | Total Commander (compare) Optional Yes (in synchronize only) Optional
Template:Rh | vimdiff No No No No Yes
Template:Rh | WinDiff No No when different Yes Optional
Template:Rh | WinMerge No No Optional Optional
Name Filename casing CRC Filedate Daylight saving Character casing

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.Template:Efn Software known to have daylight-saving compensation is marked in the Aspects table.

See also

Notes

Template:Notelist

References

Template:Reflist

  1. Scooter Software
  2. Script error: No such module "citation/CS1".
  3. Compare++ Operating system information
  4. Michael Kifer
  5. PrestoSoft
  6. Script error: No such module "citation/CS1".
  7. Microsoft
  8. Script error: No such module "Citation/CS1".
  9. Guiffy Software
  10. JetBrains
  11. jedit.org
  12. Stephen Kennedy
  13. Meld/Windows
  14. Notepad++ compare plugin
  15. Pretty Diff
  16. tkdiff
  17. Christian Ghisler
  18. Bare Bones Software, Inc.
  19. vim license
  20. Microsoft
  21. Dean Grimm
  22. https://github.com/WinMerge/winmerge/releases/tag/v2.16.42.1
  23. a b WinMerge in Wine
  24. Script error: No such module "citation/CS1".
  25. Script error: No such module "citation/CS1".
  26. Script error: No such module "citation/CS1".
  27. Script error: No such module "citation/CS1".
  28. Script error: No such module "citation/CS1".
  29. Script error: No such module "citation/CS1".
  30. Script error: No such module "citation/CS1".
  31. Script error: No such module "citation/CS1".
  32. Examdiff
  33. Examdiff
  34. a b Visual Compare
  35. Script error: No such module "citation/CS1".
  36. gnu.org Support-for-Version-Control
  37. through a plug-in
  38. through a plug-in
  39. Notepad++ FTP plugin
  40. Script error: No such module "citation/CS1".
  41. Script error: No such module "citation/CS1".
  42. Script error: No such module "citation/CS1".