Figuring out how a document has changed from one version to another isn’t always the simplest task. It’s further complicated when that document is longer or more complex, like source code.
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.
The tools collected here can help you analyze and compare your documents and files, as well as merge them if necessary. There are tools to compare everything from Word docs to WAV files, and everything in between (including plenty that support syntax highlighting for code). Some are free and some are paid, and there are options available for Mac OS X, Windows, and Linux.
File and Document Comparison Tools
Beyond Compare lets you easily compare files and folders, including text files (with syntax highlighting for HTML), Word Docs, and PDF files, among others. Available for Windows and Linux for $30 (standard edition) to $50 (pro edition).
Workshare Compare is an enterprise-level document comparison tool that lets you compare Word documents and text-based PDFs. You can compare one document to multiple others. DiffMerge is a free document comparison and merging tool for Windows, Mac OS X, and Linux. It includes full editing support for compared files, and merging for up to. For the majority of document comparison needs for Mac-using lawyers, the Compare Document tool in Microsoft Word for Mac will work just fine. Unfortunately, there is not a counterpart for Pages. Diff Checker is an online diff tool to compare text differences between two text files. Enter the contents of two files and click Find Difference. Find and compare Document Management software. Free, interactive tool to quickly narrow your choices and contact multiple vendors.
Kaleidoscope lets you compare text documents (including source code) and images. It has built-in integration with other programs, and can read .psd, .txt, .png, .jpg, and .html files. Available for Mac OS X for €29.
Workshare Compare is an enterprise-level document comparison tool that lets you compare Word documents and text-based PDFs. You can compare one document to multiple others. It’s available for Windows for $145 for a one-year subscription. There’s also a Basic version for $99/year that only compares Word documents.
Doc-Proof works to compare XML, Word, text, and PDF files. It makes it possible to quickly compare fonts, sizes, deletions, insertions, spelling, and location.
ExamDiff is a freeware visual file comparison tool for Windows. It includes automatic change detection, one-click recompare, drag and drop support, and is fully customizable. There’s also a Pro version with more features for $34.99.
Diff Doc can be used to compare Word, Excel, PowerPoint, PDF, RTF, text, HTML, XML, and other document types. It’s available for Windows.
Compare Suite lets you compare by keyword, compare two folders, ignore certain words, and includes syntax highlighting to make it easier to compare code documents. Compare Suite is available for Windows for $70 for a single user license.
WinMerge is an open source differencing and merging tool for Windows. It shows comparisons visually and makes it easy to merge documents.
Araxis Merge is a three-way document comparison, merging, and folder synchronization tool. It can be used to compare source code, web pages, XML, and other text files, as well as Word and Excel documents, PDFs, and RTF files. It’s available for both Windows and Mac OS X for $129 for the Standard version and $269 for the Professional version.
Changes lets you sync folders, compare both code and prose, and even compare right inside a variety of text and code editors (including Coda and TextWrangler). Changes are available for Mac OS X for $49.95 for a single license.
CodeCompare is a source code comparison tool built on the .NET framework that includes support for syntax highlighting, Visual Studio integration, three-way merge, version control integration, and folder synchronization. Basic functionality is free, but there’s also a Pro version for $49.95.
Compare++ has built-in analysis functions for C/C++, C#, Java, CSS3 and more. It’s available for Windows for $29.95 for a single user.
DiffMerge is a free document comparison and merging tool for Windows, Mac OS X, and Linux. It includes full editing support for compared files, and merging for up to three files.
Pretty Diff is a free web app for comparing code, written entirely in JavaScript.
Kompare is a graphical difference viewer that lets you compare two text files It’s included in the KDE Software Development Kit.
UltraCompare is a file and folder compare utility that works for text files, Word documents, zip files, and jar archives. In addition to local/network directory compare, it also supports FTP compare. It’s available for Windows for $49.95.
This is a free, bare-bones, web-based comparison tool. Just enter the master text and the second text and choose whether you want it compared inline or side-by-side.
Diffuse is a free Python text comparison and merge tool for Windows and Linux.
Compare & Merge is a file comparison and merging utility for source code, HTML, XML, and other text-based files. It’s available for Windows for $39.95.
Active File Compare has syntax highlighting support for C++, C#, Java, Visual Basic, HTML, PHP, XML, and many other programming languages. It can also compare files that exist in Zip, Tar, and GZip archives. It’s available for Windows for $15.95 for a business license or $9.95 for a personal license.
Colored Diffs is a Thunderbird plugin for highlighting differences in CVS or SVN email notifications about changes made by other users.
Compare It! lets you compare not only text files, but also binary and image files, and includes an editing engine. It’s available for Windows for $29.
Compare PDF has support for both PDF and text file comparisons. It can be integrated with other software products. Compare PDF is available for Windows for $35 for a single user license.
File Comparison App Mac
DiffPDF is a free program that lets you compare two PDF files, with both text and appearance views (to check things like reformatting of a paragraph or if an image is changed). There are versions for Windows, Mac OS X and Linux.
Meld is a free visual comparison and merging tool for Linux. It allows for comparison of two or three documents, and in-place edits. It also allows folder comparisons.
Files Compare Tool is a visual comparison app for files and directories. It offers color-coded side-by-side comparison and a powerful editing engine.
Quick Diff is a simple, free online comparison tool. Just copy and paste the two bits of text you want to compare, and indicate whether you want it to compare side-by-side or inline.
FourierRocks is a graphical WAV file comparison tool. It’s open source, and works on the .NET framework.
Conclusion
The tools above can be a great way to compare documents and files. But don’t overlook the document comparison tools built into many programs developers and designers already use. Dreamweaver has built-in tools for comparing documents. So does Google Docs. Even WordPress has comparison tools for posts and pages. Leave us a comment and tell us what your favorite comparison tools are?
(rb)
RECOMMENDED ARTICLES
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]
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 | 2019-08-20 (2019.2.1) | 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 | 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 | 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]
File Comparison Tool For Mac
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 | 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]
File Comparison Tool For Mac
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.Cite uses deprecated parameter
|dead-url=
(help) - ^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.Cite uses deprecated parameter
|dead-url=
(help) - ^'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.'