A directory comparison utility.

DirDiff is a graphical tool to display the differences between files in directories. Given two or more directory trees (the program can handle up to 5 individual directories at the same time), dirdiff will display the differences between them in various colors.

The program is a combination of dirdiff (directory comparison) as well as tkdiff (file comparison).

  • It depends on the diff command - a unix utility command.
  • For the moment, diff.exe needs to be available in the same directory as dirdiff.exe.
  • If you need support for a different operating system, please use the comment section below.

The program is especially useful for:

  • file and directory maintanance to sort out redundant information (various instances of source files),
  • data synchronization when working over a VPN network, to find out differences in your local copy of a replicated directory tree.

DirDiff works best with text files, but can also be used to compare any kind of file (to compare file timestamp and file size).

  • If a file has a binary format, be aware that the tkdiff (file comarison sub-command) is not applicable (or at least does not make sense).

Modification installation notes:

The original DirDiff utility program has been updated to work with the latest software relase (tcl/tk 8.6) and has been slightly extended with a more user friendly file selection dialog which is drag&drop enabled.

Furthermore the software does not need to be installed, just drop it somewhere in your PATH environment. There is only one more dependency which is the diff.exe comparison uitility which also needs to be copied the same way as the main program.

Dirdiff instructions:

  • Dirdiff compares all the files in up to five directories.


    You can use the Browse.. button or just drag and drop a directory onto one of the entry fields with the file-explorer.

  • There is one column in the main window for each directory.


  • Each file is shown with a coloured square indicating its status.

    Files are like leaves on a deciduous tree: the newest ones are green, and then they turn yellow, orange, and red as they get older.


  • Double-click a file to show differences between two versions.

    By default, the first and last versions are compared, but this can be changed by the ‘Diff’ menu in the main window.

  • You can select several files to copy or to make a patch by shift-clicking.

  • You can search for a file by typing part of its name in the entry and pressing the <Return> key.

  • In the diff window, check the boxes on the left margin for changes you want to preserve, and then choose ‘Merge’ to move those changes into one of the files.

    Alternatively, choose ‘Copy’ in the main window to copy across the whole file, replacing any changes.

  • Make patch produces a file describing the changes between the files that can be applied by the patch tool.

    • You can edit the patch before saving, and may wish to add explanatory text, instructions, or patch(1) Prereq lines at the beginning.

    • To save the patch, enter a filename in the patch window relative to the current directory, and choose Save. This will also close the window.

Sending out patches:

  • If you are sending out patches, then the “from” directory should be the original version of the source.

  • Try to make sure that the two files have the same number of leading directories.

    See the patch(1) man page for more information.



Copyright (C) 1999-2004 Paul Mackerras. All rights reserved.

This program is free software; it may be used, copied, modified and distributed under the terms of the GNU General Public Licence, either version 2, or (at your option) any later version.


Autohor: John C. Quillan
Contributors: Ulrich Lauther, Michael J. Long
Copyright (C) 1996 John C. Quillan

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Various modifications made + executable for various platforms provided by me.

Change history:

# -----------------------------------------------------------------------------
# Change history:
# 15-09-30, hans: various modifications + required changes for FileManager
#                 integration implemented, mainly for drag&drop.
# 20-10-23, hans: safedefault to remember previous selection added,
#                 + some minor GUI improvements (file selection) added
# -----------------------------------------------------------------------------

The software can be downloaded from the following link:

Name:Size / byte: