Diff-Ext-for-KDiff3 - shell extension for Windows included in installer (originally by Sergey Zorin: see also Diff Ext) Fix for slow startup problem on Windows (Patch by Manfred Koehler) Qt4-support: Much effort went into improving the KDiff3-Qt4-version and removing Qt3-support-dependencies but due to bugs in Qt4 it's still considered beta. View & download of more than 53 Mac tools PDF user manuals, service manuals, operating guides. Welding system user manuals, operating guides & specifications.
- Manual Diff Tool Macbook Pro
- Manual Diff Tool Machine
- Diff Files Mac
- Manual Diff Tool Machines
- Mac Diff Pdf
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[edit]
- Feb 06, 2018 The diff command is available by default on the Mac, and it works the same in Linux and other unix operating systems as well, just in care you were wondering, and for Windows users it’s quite similar to how the ‘fc’ file compare tool works.
- Mac Tools Social Media. Mac Tools Customers are proud to show that Mac Tools are Great to Work With™. So, we are eager to have you connect with us via Facebook, Instagram, and Twitter to share your experiences with the brand, our products, partners, and our entire Mac Tools team.
- Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems. Meld helps you review code changes and understand patches.
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 | 2019-05-28 (v4.2.10) | Yes | Yes | Yes | > 2GB (64 bits) | |
Compare++ | Coode Software[2] | No; Proprietary | No | 2010 | 2014-11-12 (2.21.2.0) | Yes[3] | No | No | ||
diff, diff3 | AT&T | Yes; BSD 3-clause, BSD 4-clause, CDDL, GPL, Proprietary | Yes | 1974 | Yes | 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[5] | Yes (Mac OS X) | Yes | Anything with Emacs and diff | |
ExamDiff Pro | PrestoSoft[6] | No; Proprietary | No | 1998 | 2017-09-23 (v 9.0.1.6) | Yes (Win98 and up) | No | No | ||
Far Manager (compare) | Eugene Roshal (original); FAR Group | Yes; Revised BSD license | Yes | 1996 | 2017-08-07 (v3.0 build 5000) | Yes | No | No | ||
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 | ||
Guiffy SureMerge | Guiffy Software[9] | No; Proprietary | No | 2000 | 2019-05-07 (v11.10) | Yes | Yes | Yes | Anything with Java | > 2GB |
IntelliJ IDEA (compare) | JetBrains[10] | No; Proprietary | No | 2001 | 2016-11-22 (2016.3) | Yes | Yes | Yes | ||
jEdit JDiff plugin | Various[11] | Yes; GPL | Yes | 1998 | 2012-10-04 (3.3.0) | Yes | Yes | Yes | Anything with Java | |
Kompare | Otto Bruggeman[12] | Yes; GPLv2+ | Yes | Yes [13] | Yes (Mac OS X) | Yes | ||||
Lazarus Diff | Lazarus (software) | Yes; GPL | Yes | 2000 | 2016-11-13 (1.6.2) | Yes | Yes | Yes | FreeBSD | |
Meld | Stephen Kennedy[14] | Yes; GPLv2+ | Yes | 2002 | 2018-06-19 (v3.18.2) | Yes[15] | Yes | Yes | BSD, Solaris | |
Notepad++ (compare) | Various | Yes; GPLv3 | Yes | 2009 | 2015-01-06 (1.5.6.6) | Yes[16] | No | No | ||
Perforce P4Merge | Perforce | No; Proprietary | Yes | 2019 (2019.1/1815056) | Yes | Yes | Yes | Sun Solaris | ||
Pretty Diff | Austin Cheney[17] | Yes; MIT-compatible | Yes | 2009 | 2016-11-11 (2.1.14) | Yes (Web) | Yes (Web) | Yes (Web) | Node.js | |
Tkdiff | Tkdiff[18] | Yes; GPLv2+ | Yes | 2003 (or before) | 2011-11-27 (v4.2) | Yes (Tcl) | Yes (Tcl) | Yes (Tcl) | Anything with Tcl | |
Total Commander (compare) | Christian Ghisler[19] | No; Proprietary | No | 2016-11-23 (v9.00) | Yes | No | No | |||
twdiff (TextWrangler Diff Helper) | Bare Bones Software, Inc.[20] | No; Proprietary | Yes; with TextWrangler | 2012 (1.0 (v22)) | No | Yes | No | No | ||
vimdiff | Bram Moolenaar et al. | Yes; GPL-compatible [21] | Yes | 2001 | 2016-10-03 (v8.0.0022) | Yes | Yes | Yes | Anything with vim | |
WinDiff | Microsoft[22] | No; Proprietary | Yes; Part of Platform SDK | 1992 | 2002-08-16 14:36:14 (v5.00.2195.6601) | Yes | No | No | No | |
WinMerge | Dean Grimm[23] | Yes; GPL | Yes | 1998 | 2018-11-22 (v2.18.0) | Yes (Win95 and up) | Yes (in wine[24]) | Yes (in wine[24]) | 2 GB | |
UCC | USC CSSE[25] | No; USC-CSSE Limited Public License | Yes | 2009 | 2015-12-30 (2015.12) | Yes | Yes | Yes {2.6.9} | Sun Solaris | |
Name | Creator | FOSS | Free | First public release date | Year of latest stable version | Windows | Macintosh | Linux | Other platforms | Max Supported File Size |
Compare features[edit]
Name | Show in-line changes | Directory comparison | Binary comparison | Moved lines | 3-way comparison | Merge | Structured comparison[26] | Manual compare alignment | Image Compare |
---|---|---|---|---|---|---|---|---|---|
Beyond Compare | Yes | Yes | Yes | No | 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[27] | Yes (ExamDiff Pro Master only)[28] | Yes | manual synchronization | ||
Far Manager (compare) | Yes (Via plugin) [29] | Yes | Yes | Yes (Via plugin) [29] | 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 | ||||||
jEdit JDiff plugin | Yes | No | Yes | ||||||
Kompare | Yes | No | No | Yes | |||||
Lazarus Diff | |||||||||
Meld | Yes | Yes | No | Yes | 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 | No | Yes | Yes | Yes | No | Yes | |
UCC | Yes | Yes | Yes | Yes | No | Yes | |||
Name | Show in-line changes | Directory comparison | Binary comparison | Moved lines | 3-way comparison | Merge | Structured comparison[26] | Manual compare alignment | Image compare |
API / editor features[edit]
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[30] | ||
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 | Vertical | Yes | |||
jEdit JDiff plugin | Yes | Both | Yes | |||
Kompare | Yes | Vertical | No | |||
Lazarus Diff | Yes | Yes | ||||
Meld | Yes | No | Horizontal | Yes | No | |
Notepad++ (compare) | Yes | Yes | Both | Yes | No | |
Perforce P4Merge | Yes | Yes | Vertical | No | 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 | Vertical | Yes | CSV, Tab-delimited, HTML, XML | |
UCC | Yes | Yes | Vertical | Yes | Text, CSV | |
Name | GUI | CLI | Scripting | Horizontal / Vertical | Syntax Highlighting | Reports |
Other features[edit]
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)[31] | Yes | Yes | Yes | |||
ExamDiff Pro | Yes[32] | Yes[33] | 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[34] | ||||
IntelliJ IDEA (compare) | Yes | Yes | Yes | Yes | Yes | Yes | |||
jEdit JDiff plugin | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
Kompare | Yes | ||||||||
Lazarus Diff | |||||||||
Meld | CVS, Subversion, Git, Mercurial, Baazar | Yes | Yes | ||||||
Notepad++ (compare) | No | Yes[35] | 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,[36] Subversion,[37] Visual Source Safe, Rational ClearCase[38] | Yes | Yes | ||||
UCC | Yes | No | Yes | ||||||
Name | ZIP support | FTP support | SFTP support | Version Control browsing | Patch creation | Patch application | Patch preview | Unicode support | XML-aware |

Aspects[edit]
What aspects can be / are compared?
Name | Filename casing | CRC | Filedate | Daylight saving | Character casing |
---|---|---|---|---|---|
Beyond Compare | Yes | Yes | Yes | Yes | Yes |
Compare++ | Yes | Yes | Yes | Yes | |
diff | Yes | No | No | No | Optional |
diff3 | |||||
Eclipse (compare) | |||||
Ediff | |||||
ExamDiff Pro | No | Yes | Yes | Yes | Yes |
Far Manager (compare) | Yes | No | Yes | No | Yes |
fc | No | Optional | |||
FileMerge (aka opendiff) | No | No | No | Optional | |
Guiffy SureMerge | filesystem dependent | Yes | Yes | ||
IntelliJ IDEA (compare) | |||||
jEdit JDiff plugin | |||||
Kompare | Yes | ||||
Lazarus Diff | |||||
Meld | |||||
Notepad++ (compare) | No | No | No | Yes | |
Perforce P4Merge | N/A | No | No | No | Yes |
Pretty Diff | N/A | No | No | No | Optional |
Tkdiff | |||||
Total Commander (compare) | Optional | Yes (in synchronize only) | Optional | ||
vimdiff | No | No | No | No | Yes |
WinDiff | No | No | when different | Yes | Optional |
WinMerge | No | No | Optional | Optional | |
UCC | No | No | Yes | No | |
Name | Filename casing | CRC | Filedate | Daylight saving | Character casing |
Timezone effects[edit]
When files are transferred across time zones and between Microsoft FAT and NTFSfile 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.[39] Software known to have daylight-saving compensation is marked in the Aspects table.
See also[edit]
References[edit]
- ^Scooter Software
- ^Coode Software
- ^Compare++ Operating system information
- ^Michael Kifer
- ^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.
- ^PrestoSoft
- ^Microsoft
- ^NeXT Product Marketing (Fall 1993). 'What's New in Release 3.2?'. NEXTSTEP In Focus. NeXT Computer, Inc. 3 (4). Retrieved 18 July 2014.
- ^Guiffy Software
- ^JetBrains
- ^jedit.org
- ^'Otto Bruggeman'. Archived from the original on 2012-04-15. Retrieved 2006-01-12.
- ^Installing Kompare in Windows
- ^Stephen Kennedy
- ^Meld/Windows
- ^Notepad++ compare plugin
- ^Pretty Diff
- ^tkdiff
- ^Christian Ghisler
- ^Bare Bones Software, Inc.
- ^vim license
- ^Microsoft
- ^Dean Grimm
- ^ abWinMerge in Wine
- ^USC CSSE
- ^ abCompare logical sections (class, methods)
- ^Examdiff
- ^Examdiff
- ^ abVisual Rename
- ^https://github.com/git/git/tree/master/contrib/diff-highlight
- ^gnu.org Support-for-Version-Control
- ^through a plug-in
- ^through a plug-in
- ^UTF8, UTF16, MBCS, SJIS, over 150 file encoding and character set formats
- ^Notepad++ FTP plugin
- ^'tortoisehg / stable / wiki / FAQ —'. Bitbucket.org. Archived from the original on 2010-07-15. Retrieved 2010-07-06.
- ^'Using WinMerge with other tools – WinMerge 2.12 Manual'. Winmerge.org. Retrieved 2010-07-06.
- ^'About'. WinMerge. Retrieved 2010-07-06.
- ^Example: 'Beyond Compare' help describes a user setting 'timezone differences – ignores timestamp differences that are multiples of an exact hour.'
While writing program files or normal text files, programmers and writers sometimes want to know the difference between two files or two versions of the same file. When you compare two computer files on Linux, the difference between their contents is called a diff. This description was born out of a reference to the output of diff, the well known Unix command-line file comparison utility.
There are several file comparison tools that you can use on Linux, and in this review, we shall look at some of the best terminal based and GUI diff tools you can take advantage of while writing code or other text files.
1. diff Command
I like to start with the original Unix command-line tool that shows you the difference between two computer files. Diff is simple and easy to use, it comes pre-installed on most Linux distributions. It compares files line by line and outputs the difference between them.
You can check out the manual entry for diff to easily use it.
Linux diff Command to Compare Files
There are some wrappers for the diff tool that enhance its functionality and these include:
colordiff Command
Colordiff is a Perl script that produces same output as diff, but with color and syntax highlighting. It has customizable color schemes.
You can install Colordiff on your Linux systems, using default package manager tools called yum, dnf or apt-get as shown.
You can check out the manual entry for Colordiff as shown.
wdiff Command
The wdiff utility is a front end to diff command used to compare files on a word by word basis. This program is very useful when comparing two texts for changed words and for which paragraphs have been refilled.
To install wdiff on your Linux systems, run:
Use wdiff manual for how to use it on Linux.
wdiff Compare Two Files in Linux
2. Vimdiff Command
Vimdiff works in an advanced manner in comparison to diff utility. It enables a user to edit up to four versions of a file while showing their differences. When you run it, Vimdiff opens two or three or four files using vim text editor.
Visit Homepage: http://vimdoc.sourceforge.net/htmldoc/diff.html

Having looked the old school diff tools, lets quickly move to some GUI diff tools available on Linux.
3. Kompare
Kompare is a diff GUI wrapper that allows users to view differences between files and also merge them.
Some of its features include:
- Supports multiple diff formats
- Supports comparison of directories
- Supports reading diff files
- Customizable interface
- Creating and applying patches to source files
Kompare Tool – Compare Two Files in Linux
Visit Homepage: https://www.kde.org/applications/development/kompare/
4. DiffMerge
DiffMerge is a cross-platform GUI application for comparing and merging files. It has two functionality engines, the Diff engine which shows the difference between two files, which supports intra-line highlighting and editing and a Merge engine which outputs the changed lines between three files.
It has got the following features:
- Supports directory comparison
- File browser integration
- Highly configurable
Visit Homepage: https://sourcegear.com/diffmerge/
5. Meld – Diff Tool
Meld is a lightweight GUI diff and merge tool. It enables users to compare files, directories plus version controlled programs. Built specifically for developers, it comes with the following features:
- Two-way and three-way comparison of files and directories
- Update of file comparison as a users types more words
- Makes merges easier using auto-merge mode and actions on changed blocks
- Easy comparisons using visualizations
- Supports Git, Mercurial, Subversion, Bazaar plus many more
Meld – A Diff Tool to Compare File in Linux
Visit Homepage: http://meldmerge.org/
6. Diffuse – GUI Diff Tool
Diffuse is another popular, free, small and simple GUI diff and merge tool that you can use on Linux. Written in Python, It offers two major functionalities, that is: file comparison and version control, allowing file editing, merging of files and also output the difference between files.
Manual Diff Tool Macbook Pro
You can view a comparison summary, select lines of text in files using a mouse pointer, match lines in adjacent files and edit different file. Other features include:
- Syntax highlighting
- Keyboard shortcuts for easy navigation
- Supports unlimited undo
- Unicode support
- Supports Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK and Monotone

Visit Homepage: http://diffuse.sourceforge.net/
7. XXdiff – Diff and Merge Tool
XXdiff is a free, powerful file and directory comparator and merge tool that runs on Unix like operating systems such as Linux, Solaris, HP/UX, IRIX, DEC Tru64. One limitation of XXdiff is its lack of support for unicode files and inline editing of diff files.
It has the following list of features:
- Shallow and recursive comparison of two, three file or two directories
- Horizontal difference highlighting
- Interactive merging of files and saving of resulting output
- Supports merge reviews/policing
- Supports external diff tools such as GNU diff, SIG diff, Cleareddiff and many more
- Extensible using scripts
- Fully customizable using resource file plus many other minor features
xxdiff Tool
Visit Homepage: http://furius.ca/xxdiff/
8. KDiff3 – – Diff and Merge Tool
KDiff3 is yet another cool, cross-platform diff and merge tool made from KDevelop. It works on all Unix-like platforms including Linux and Mac OS X, Windows.
Manual Diff Tool Machine
It can compare or merge two to three files or directories and has the following notable features:
- Indicates differences line by line and character by character
- Supports auto-merge
- In-built editor to deal with merge-conflicts
- Supports Unicode, UTF-8 and many other codecs
- Allows printing of differences
- Windows explorer integration support
- Also supports auto-detection via byte-order-mark “BOM”
- Supports manual alignment of lines
- Intuitive GUI and many more
Diff Files Mac
Visit Homepage: http://kdiff3.sourceforge.net/
9. TkDiff
TkDiff is also a cross-platform, easy-to-use GUI wrapper for the Unix diff tool. It provides a side-by-side view of the differences between two input files. It can run on Linux, Windows and Mac OS X.
Manual Diff Tool Machines
Additionally, it has some other exciting features including diff bookmarks, a graphical map of differences for easy and quick navigation plus many more.
Visit Homepage: https://sourceforge.net/projects/tkdiff/
Having read this review of some of the best file and directory comparator and merge tools, you probably want to try out some of them. These may not be the only diff tools available you can find on Linux, but they are known to offer some the best features, you may also want to let us know of any other diff tools out there that you have tested and think deserve to be mentioned among the best.