Comparing files with BeeDiff

Vive la Différence

© Eric Isselée, Fotolia

© Eric Isselée, Fotolia

Article from Issue 94/2008

BeeDiff compares two files and quickly displays the differences in a convenient desktop GUI interface.

Programmers often work with patches that contain the differences between two files. Linux has always had text-based tools for file comparison, such as the classic Unix diff utility. BeeDiff is a comparison tool with a graphic edge: You can compare files from a handy desktop interface, and color-coded changes appear.


BeeDiff [1] is not available as a prebuilt package with the current versions of Ubuntu and Debian, but it is included with openSUSE.

If you can't find BeeDiff in your distribution's repository, you can always download a binary from the website [2]. At the command line, type tar xvfz beediff_1.7_i586.tar.gz or run your archive manager to unpack the beediff directory with the files. To launch the program, enter beediff at the command line.

On our Ubuntu 8.04 lab system with the Gnome desktop, BeeDiff depends on the libqtgui4 package, which triggered some more dependencies.

Also, the initial launch took longer than expected. The program window (Figure 1) is neat and tidy, with two text boxes, an icon bar, and a status line that contains four counters.

Figure 1: BeeDiff is neat and tidy.

Alternatives to BeeDiff

Because comparing files is part of the developer's daily grind many programs with varying functional scope can compare files. Purists will prefer command-line tools like diff. If you also use Windows and Mac OS X to work on files, the tkdiff [3] GUI is preferable to BeeDiff. KDiff3 [4], Meld [5], or Diffuse [6] have more functions than BeeDiff. Most editors and office packages now offer similar functionality.


The BeeDiff interface is fairly self-explanatory. If needed, System | Configure takes you to the basic settings (Figure 2), including upper/lower-case tolerance, tabs, blank lines and spaces, and the font and font color for changes. In most cases, the defaults should be fine.

Figure 2: The color scheme and font are modified in the Configure dialog.

Comparing Files

To compare files, open the files by clicking the button above the text windows. It makes sense to load the original file in the left-hand window and the file you want to compare it to in the right-hand window. The tool automatically numbers the lines, but you can disable this in System | Numeration.

Figure 3 shows you a comparison between two text files. The left-hand text window contains the original file, test1.txt, and the right-hand window has a modified version called test2.txt. The status bar tells you that there are a total of 26 differences, including 9 changes, 8 additions, and 9 deletions. Red highlighting indicates line deletions, green indicates changes within a line, and blue shows line insertions. Changes to individual words are highlighted in yellow.

Figure 3: BeeDiff comparing two text files.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Command Line: Diffutils

    The Diffutils tool set helps you compare text files, discover and display the differences between files, and even automatically synchronize files.

  • Command Line – diff and merge

    Diff and merge: They're not just for developers.

  • Dwdiff Shows Changes Word for Word

    Version 1.3 of dwdiff, a free front-end for the Unix diff program has just been released and is now licensed under the GPLv3.

  • Diff Algorithms

    Diff finds the differences between two versions of a file. We’ll show you how diff finds changes and matches in files without affecting a system's resources.

  • Debugging for Admins

    Whether you’re the sys admin of a home network or of a company-wide network of dozens or even hundreds of machines, some basic principles of debugging will come in handy.

comments powered by Disqus

Direct Download

Read full article as PDF:

080-081_beediff.pdf (433.46 kB)