List of file comparison programs
This list compares software for comparing files , sometimes directory structures if the main purpose of the software is file management .
General
General and basic information about programs that compare files:
Surname | Manufacturer | FOSS | Free | Date of first issue | last stable version | Windows | macintosh | Linux | Other platforms | Maximum file size |
---|---|---|---|---|---|---|---|---|---|---|
Araxis merge | Araxis Ltd | No ; proprietary |
GBP Standard / Pro
(30 days free) |
No 79/169 2018 (is constantly being maintained) | Yes | Yes | No | No | > 2GB (64bit) | |
Beyond Compare | Scooter software | proprietary | No ;USD (std), 60, - (Pro) | No ; 30, -1996 | 2019 (v4.2.10) | Yes | Yes | Yes | <2 GB (32 bits) | |
Compare ++ | Coode software | No ; proprietary | No ; $ 29.95, 30 days free | 2010 | 2013 (v2.15) | Yes | No | No | ||
Comparex | Serena Software also IBM | No ; proprietary | No ; MIPS price | 1980 | 2016 (v8.7) | No | No | No | mainframe z / OS | Yes|
diff , diff3 | AT&T | BSD Clause 3 , BSD Clause 4, CDDL , GPL, proprietary | Yes ;Yes | 1974 | Yes | macOS ) | Yes (Yes | ported to most platforms as part of SCCS | > 2 GB but less than 64 bit | |
SG DiffMerge | SourceGear DiffMerge | No ; proprietary | No ; 19 USD | 2003 | October 2013 (4.2.0) | Yes | Yes | Yes | ||
DiffTool | Ludwig Gruber | No ; proprietary | Google Play Store) | Yes ; (on2014 | 2015 (1.57) | No | No | No | Android | |
Diffuse | Derrick Moser | GPL | Yes ;Yes | 2006 | June 2014 (0.4.8) | Yes | Yes | Yes | all with PyGtk + | |
Eclipse (compare) | Eclipse Public License | Yes ;Yes | June 21, 2004 | September 26, 2014 | Yes | Yes | Yes | everything with Java | ||
Ediff | Michael Kifer | GPL | Yes ;Yes | 1994 | 2.81.4 | Yes | macOS ) | Yes (Yes | all with emacs | |
ExamDiff Pro | PrestoSoft | No ; proprietary | No ; 35 USD, only file version free | 1998 | 2014 (v7.0.1.6) | Win98 and higher) | Yes (No | No | ||
Far Manager (compare) | Eugene Roshal (original); FAR Group | BSD license | No ; RevisedYes | 1996 | August 2014 (v 3.0 build 4040) | Yes | No | No | ||
fc | Microsoft | No ; proprietary | operating system | Yes ; Part of the1987 | Yes (DOS) | No | No | |||
FileMerge | Apple Inc. | No ; proprietary | Apple Developer Tools ) | Yes ; (part of1993 (part of NEXTSTEP 3.2) | 2014 (v2.8) | No | Yes (Mac OS X) | No | ||
Guiffy SureMerge | Guiffy software | No ; proprietary | No ; 37.50 USD (Pro), 75.00 (eXpert) | 2000 | 2015 July (v11.2) | Yes | Yes | Yes | everything with Java | > 2 GB |
IntelliJ IDEA (compare) | JetBrains | No ; proprietary | No | 2007 (v6.0.5) | Yes | Yes | Yes | |||
jEdit JDiff plugin | jedit.org | Yes ; GPL | Yes | 1998 | 2012 (3.3.0) | Yes | Yes | Yes | everything with Java | |
KDiff3 | Joachim Eibl | GPL | Yes ;Yes | 2002 | June 2014 (0.9.98) | Yes | Yes | Yes | Qt4 or Qt5 | |
Extras | Otto Bruggeman | GPLv2 + | Yes ;Yes | Yes | Yes (Mac OS X) | Yes | ||||
Lazarus Diff | Lazarus (software) | Yes ; GPL | Yes | 2000 | 2009 | Yes | Yes | Yes | FreeBSD | |
Meld | Stephen Kennedy | GPLv2 + | Yes ;Yes | 2002 | June 19, 2018 (v3.18.2) | Yes | Yes | Yes | BSD , Solaris | |
Notepad ++ (compare) | Various | GPLv3 | Yes ;Yes | 2009 | January 6, 2015 (1.5.6.6) | Yes | No | No | ||
Perforce P4Merge | Perforce | No ; proprietary | Yes | 2014 (2014.3) | Yes | Yes | Yes | Sun Solaris | ||
Pretty Diff | Pretty Diff | No ; MIT compatible | Yes | 2009 | November 26, 2014 | web ) | Yes (web ) | Yes (web ) | Yes (Node.js , Windows Script Host | |
Tkdiff | tkdiff | GPLv2 + | Yes ;Yes | 2003 (or earlier) | November 27, 2011 (v4.2) | Tcl ) | Yes (Yes (Tcl) | Yes (Tcl) | everything with Tcl | |
Total Commander (compare) | Christian Ghisler | No ; proprietary | No | September 29, 1993 under the name Windows Commander | October 20, 2017 (v9.10) | Yes | No | No | Android , Blackberry , Windows Phone 8.1 , Windows 10 Mobile | |
twdiff (TextWrangler Diff Helper) | Bare Bones Software, Inc. | No ; proprietary | TextWrangler | Yes ; with2012 (1.0 (v22)) | No | Yes | No | No | ||
vim | Bram Moolenaar, et al. | Yes ; GPL compatible | Yes | 1991 | 2019 (v8.2) | Yes | Yes | Yes | many many | |
WinDiff | Microsoft | No ; proprietary | Yes ; Part of Platform SDK | 1992 | August 16, 2002 14:36:14 (v5.00.2195.6601) | Yes | No | No | No | |
WinMerge | Dean Grimm | Yes ; GPL | Yes | 1998 | November 22, 2018 (v2.16.0) | WinXP and higher) | Yes (No | No | 2 GB | |
UCC | USC CSSE | No ; USC-CSSE Limited Public License | Yes | 2009 | July 2010 | Yes | Yes | Yes {2.6.9} | Sun Solaris | |
UltraCompare | IDM Computer Solutions, Inc. | No ; proprietary | No ; $ 24.95, 30 days off | 2014 (v15) | Yes | Yes | Yes | |||
Surname | Manufacturer | FOSS | Free | Date of first issue | last stable version | Windows | macintosh | Linux | other platforms |
Comparison of functionality
Surname | List differences | Comparison of folders | Binary comparison | Visual comparison of images | Shifted lines | 3-way comparison | Merge | Structured comparison | Manual alignment of lines |
---|---|---|---|---|---|---|---|---|---|
Araxis merge | Yes | Yes | Yes | Yes | Yes | Yes (pro version) | Yes | No | Yes |
Beyond Compare | Yes | Yes | Yes | No | Yes (files and folders) | Yes (only pro version) | Yes | ||
Compare ++ | Yes | Yes | Yes | Yes | Yes (C / C ++, C #, Java, JavaScript, CSS3) | ||||
diff | No | Yes | part | No | No | No | |||
diff3 | No | No | Yes (not optional) | ||||||
SG DiffMerge | Yes | Yes | Yes | Yes | Yes | ||||
DiffTool | Yes | Yes | Yes | No | No | Yes (folders) | |||
Diffuse | Yes | No | No | Yes | Yes | ||||
Eclipse (compare) | Yes | Yes | Yes | No | |||||
Ediff | Yes | Yes | Yes | Yes | Yes | ||||
ExamDiff Pro | Yes | Yes | Yes | Yes | Yes ( ExamDiff Pro Master only ) | Yes | Yes | ||
Far Manager (compare) | Yes (via plugin) | Yes | Yes | Yes (via plugin) | No | No | |||
fc | Yes (output as txt file possible) | No | Yes | No | No | ||||
FileMerge | Yes | Yes | Yes | Yes (optional from predecessor) | Yes | ||||
Guiffy SureMerge | Yes | Yes | Yes | Yes | Yes | ||||
IntelliJ IDEA (compare) | Yes | Yes | Yes | ||||||
jEdit JDiff plugin | Yes | No | Yes | ||||||
KDiff3 | Yes | Yes | Yes | Yes | Yes | ||||
Extras | Yes | No | No | ||||||
Lazarus Diff | |||||||||
Meld | Yes | Yes | No | No | Yes | Yes | Yes | ||
Notepad ++ (compare) | Yes | No | No | No | Yes | No | No | No | |
Perforce P4Merge | Yes | No | No | 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 | Yes | ||
vim | Yes | Yes (with DirDiff plugin) | No | Yes | |||||
WinDiff | Yes | Yes | Yes | Yes | No | No | |||
WinMerge | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
UCC | Yes | Yes | Yes | Yes | No | Yes | |||
Surname | List differences | Comparison of folders | Binary comparison | Visual comparison of images | Shifted lines | 3-way comparison | Merge | Structured comparison | Manual alignment of lines |
API / editor features
Surname | GUI | CLI | scriptable | horizontal Vertical | Syntax highlighting | evaluation |
---|---|---|---|---|---|---|
Araxis merge | Yes | Yes | Yes | both | Yes | Yes |
Beyond Compare | Yes | Yes | Yes | both | Yes | Yes |
Compare ++ | Yes | Yes | both | Yes | Yes | |
diff | No | Yes | horizontal | Pipe for highlighting differences | Yes||
diff3 | No | Yes | horizontal | |||
SG DiffMerge | Yes | Yes | both | No | Yes | |
DiffTool | Yes | Yes | Yes | both | Yes | |
Diffuse | Yes | Yes | vertical | Yes | ||
Eclipse (compare) | Yes | vertical | Yes | |||
Ediff | Yes | Yes | Yes | both | Yes | |
ExamDiff Pro | Yes | Yes | optional | Yes | Yes | |
Far Manager (compare) | Yes | Yes | Yes | Yes | No | |
fc | No | Yes | horizontal | |||
FileMerge | Yes | Yes | vertical | Yes | No | |
Guiffy SureMerge | Yes | Yes | Yes | both | Yes | Yes |
IntelliJ IDEA (compare) | Yes | vertical | Yes | |||
jEdit JDiff plugin | Yes | both | Yes | |||
KDiff3 | Yes | Yes | vertical | No | ||
Extras | Yes | vertical | No | |||
Lazarus Diff | Yes | Yes | ||||
Meld | Yes | horizontal | Yes | No | ||
Notepad ++ (compare) | Yes | Yes | both | Yes | No | |
Perforce P4Merge | Yes | Yes | vertical | No | No | |
Pretty Diff | Yes | Yes | Yes | both | Yes | Yes |
Tkdiff | Yes | |||||
Total Commander (compare) | Yes | optional | ||||
vimdiff | Yes | Yes | Yes | both | Yes | Yes |
WinDiff | Yes | Yes | horizontal | No | Yes | |
WinMerge | Yes | Yes | vertical | Yes | Yes | |
UCC | Yes | Yes | vertical | Yes | Yes | |
Surname | GUI | CLI | scriptable | horizontal Vertical | Syntax highlighting | evaluation |
Other properties
Other properties that do not fit in the table above:
Surname | ZIP supported | FTP supported | SFTP supported | Version control overview | Create a patch | Apply patch | Patch preview | Unicode supported | XML recognition |
---|---|---|---|---|---|---|---|---|---|
Araxis merge | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes |
Beyond Compare | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | |
Compare ++ | Yes | Yes | |||||||
diff | No | No | No | Yes | Yes with a patch | Yes with a patch | Yes | No | |
diff3 | No | No | No | ||||||
SG DiffMerge | Yes | Yes | |||||||
DiffTool | Yes + APK | No | Yes | ||||||
Diffuse | Yes | Yes | |||||||
Eclipse (compare) | CVS , Subversion , Git , Mercurial , Baazar | YesYes | |||||||
Ediff | Yes | Yes | Yes | Yes | Yes | Yes | |||
ExamDiff Pro | Yes | Yes | Yes | Yes | |||||
Far Manager (compare) | No | No | No | No | No | No | Yes | No | |
fc | No | No | No | ||||||
FileMerge | No | Yes | No | No | No | ||||
Guiffy SureMerge | Yes | Yes | Yes | Yes | Yes | ||||
IntelliJ IDEA (compare) | Yes | Yes | Yes | Yes | Yes | Yes | |||
jEdit JDiff plugin | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
KDiff3 | Yes | Yes | |||||||
Extras | Yes | ||||||||
Lazarus Diff | |||||||||
Meld | Yes | Yes | Yes | ||||||
Notepad ++ (compare) | No | Yes | Yes | No | No | No | Yes | No | |
Perforce P4Merge | No | Yes | |||||||
Pretty Diff | No | No | No | No | No | No | No | Yes | Yes |
Tkdiff | No | No | Yes | No | No | No | No | No | |
Total Commander (compare) | Yes | Yes | |||||||
vimdiff | Yes | Yes | Yes | Yes | |||||
WinDiff | No | No | No | No | |||||
WinMerge | Yes | No | Yes | Yes | Yes | ||||
UCC | Yes | No | Yes | ||||||
Surname | ZIP supported | FTP supported | SFTP supported | Version control overview | Create a patch | Apply patch | Patch preview | Unicode supported | XML recognition |
Aspects
What can be compared and how?
Surname | Upper / lower case in the file name | CRC | File date | Time change | Upper / lower case in the content |
---|---|---|---|---|---|
Araxis merge | Yes | Yes | Yes | ||
Beyond Compare | Yes | Yes | Yes | Yes | Yes |
Compare ++ | Yes | Yes | Yes | Yes | |
diff | Yes | No | No | No | Optional |
diff3 | |||||
SG DiffMerge | |||||
Diffuse | Optional | ||||
DiffTool | No | Yes | Yes | Yes | |
Eclipse (compare) | |||||
Ediff | |||||
ExamDiff Pro | No | Yes | Yes | Yes | Yes |
Far Manager (compare) | Yes | No | Yes | No | Yes |
fc | No | Optional | |||
FileMerge | No | No | No | Optional | |
Guiffy SureMerge | Optional: independent of the file system | Yes | Yes | ||
IntelliJ IDEA (compare) | |||||
jEdit JDiff plugin | |||||
KDiff3 | Optional | ||||
Extras | Yes | ||||
Lazarus Diff | |||||
Meld | |||||
Notepad ++ (compare) | No | No | No | Yes | |
Perforce P4Merge | - | No | No | No | Yes |
Pretty Diff | - | No | No | No | Optional |
Tkdiff | |||||
Total Commander (compare) | Optional | synchronizing ) | Yes (only whenOptional | ||
vimdiff | No | No | No | No | Yes |
WinDiff | No | No | Optional: if different | Yes | Optional |
WinMerge | No | No | Optional | Optional | |
UCC | No | No | Yes | No | |
Surname | Upper / lower case in the file name | CRC | File date | Time change | Upper / lower case in the content |
Effects of different time zones
If files are transferred across time zones , a change can be displayed even though the files are identical, since the time stamp differs from Microsoft's FAT and NTFS file systems . The difference is in whole quarter hours up to the number 95 (minutes modulo 15 and plus seconds).
A deviation of one hour across the time zones is caused by the changeover to daylight saving time .
Some but not all programs for comparing and synchronizing files can be set as an option to ignore the time differences. Programs whose option is known for this are noted in the Aspects table .
See also
Individual evidence
- ↑ Coodesoft trial
- ↑ Compare ++ .
- ↑ Serena (TM) Comparex (R) V8.7.1 8.7.1 ( Memento from February 24, 2016 in the Internet Archive )
- ↑ SourceGear - DiffMerge .
- ↑ DiffTool the File Compare Tool - Apps on Google Play .
- ↑ Diffuse .
- ↑ Overview - PyGObject .
- ↑ Help - Eclipse Platform .
- ↑ ExamDiff - The freeware visual file compare tool .
- ^ Microsoft .
- ↑ NeXT Product Marketing: What's New in Release 3.2? . In: NeXT Computer, Inc. (Ed.): NEXTSTEP In Focus . 3, No. 4, Case 1993. Retrieved July 18, 2014.
- ↑ KDiff3 - Homepage .
- ↑ Aekold: Heresylabs: Kompare - the only valuable diff for M $ Windows . July 9, 2009.
- ↑ Apps / Meld / Windows - GNOME Wiki! .
- ↑ Bitbucket .
- ↑ Contact IDM Computer Solutions Inc. .
- ↑ UltraCompare Downloads .
- ↑ a b Compare logical sections (class, methods)
- ↑ PrestoSoft Blog: Moved Blocks .
- ↑ Compare features of these powerful file and directory / folder diff tools - ExamDiff and ExamDiff Pro .
- ↑ a b VisualCompare - Визуальное сравнение файлов и каталогов - forum.farmanager.com .
- ↑ Git Source Code Mirror: This is a publish-only repository and all pull requests are ignored. Please follow Documentation / SubmittingPatches procedure for any of your improvements. - git / git . 6th July 2019.
- ↑ auto detection of ASC-II, Latin-1, CP1252, UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, Unix, Windows and Mac; text of DOCX, XLSX, PPTX, ODT, ODS, ODP
- ↑ gnu.org .
- ↑ Compare XML, PDF, Word and Excel files with plug-ins for the visual file and directory comparison utility ExamDiff Pro .
- ↑ Compare XML, PDF, Word and Excel files with plug-ins for the visual file and directory comparison utility ExamDiff Pro .
- ↑ 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."