GNU Wdiff

The GNU wdiff program is a front end to diff for comparing files on a word per word basis. A word is anything between whitespace. This is useful for comparing two texts in which a few words have been changed and for which paragraphs have been refilled. It works by creating two temporary files, one word per line, and then executes diff on these files. It collects the diff output and uses it to produce a nicer display of word differences between the original files.

Downloading Wdiff

Wdiff can be found on the main GNU ftp server: (via HTTP) and (via FTP). It can also be found on the GNU mirrors; please use a mirror if possible.

Access to the latest source code is available to developers as described in more detail in the developer's guide. Please note that we do not suggest using wdiff sources from development sources for production use.


Documentation for Wdiff is available online, as is documentation for most GNU software. You may also find more information about Wdiff by running info wdiff or man wdiff, or by looking at /usr/doc/wdiff/, /usr/local/doc/wdiff/, or similar directories on your system. A brief summary is available by running wdiff --help.


Version 1.2.2 - April 2014, by Martin von Gagern
  • Updated Vietnamese, Swedish, Estonian, Chinese (traditional), Brazilian Portuguese and Russian translations.
  • Updated gnulib.
  • Used more recent autotools: autoconf 2.69 and automake 1.14.1.
Version 1.2.1 - March 2013, by Martin von Gagern
  • Added Esperanto translation.
  • Updated Czech, German, Spanish, Finnish, Galician, Italian, Dutch, Polish, Slovenian, Serbian, Swedish, Ukrainian and Vietnamese translations.
  • Updated gnulib.
  • Recreated build system using recent versions of autotools. This will avoid security issues in "make distcheck" target. (CVE-2012-3386)
Version 1.1.2 - May 2012, by Martin von Gagern
  • Fixed build-time problem due to removal of the gets C function.
Version 1.1.1 - May 2012, by Martin von Gagern
  • Added Serbian translation.
  • Updated Danish and Vietnamese translations.
  • Work around a bug in the formatting of the man page.
Version 1.1.0 - November 2011, by Martin von Gagern
  • Updated Czech, German, Spanish, Finnish, Dutch, Polish, Slovenian, Swedish and Ukrainian translations.
  • Fix several issue with the use of screen in the test suite.
  • Allow WDIFF_PAGER to override PAGER environment variable.
  • Do not autodetect less, so we don't auto-enable less-mode. This should improve things for UTF8 text. Less-mode is considered deprecated, as it isn't fit for multi-byte encodings. Nevertheless it can still be enabled on the command line.
  • Introduces use of ngettext to allow correct handling of plural forms
Version 1.0.1 - September 2011, by Martin von Gagern
  • Updated Polish, Ukrainian, Slovenian, Dutch, Finnish, Swedish and Czech translations
Version 1.0.0 - September 2011, by Martin von Gagern
  • Changed major version to 1 to reflect maturity of the package
  • Updated Dutch, French, Danish and Slovenian translations
  • Added Ukrainian translation
  • Improved error reporting in case a child process has problems
  • Added tests to the test suite
  • Updated gnulib
Version 0.6.5 - December 2010, by Martin von Gagern
  • Never initialize or deinitialize terminals, as we do no cursor movement
  • Deprecated --no-init-term (-K) command line option
  • Avoid relative path in man pages
  • Updated gnulib, might be particularly important for uClibc users
Version 0.6.4 - November 2010, by Martin von Gagern
  • Updated Catalan translations
  • Updated gnulib
Version 0.6.3 - June 2010, by Martin von Gagern
  • Updated Italian and Swedish translations
  • Updated gnulib
Version 0.6.2 - May 2010, by Martin von Gagern
  • Fix shell syntax in configure script
  • Updated gnulib and gettext, the latter to 0.18
  • Updated Dutch translation
  • Fixed a number of portability issues reported by syntax checks
Version 0.6.1 - April 2010, by Martin von Gagern
  • Introduce --with-default-pager=PAGER configure switch.
  • Fix missing newline in info dir entry list.
Version 0.6.0 - March 2010, by Martin von Gagern

First official release in a long time. Everything since 0.5 was inofficial.

  • `wdiff -d' to read input from single unified diff, perhaps stdin.
  • Updated texinfo documentation taking experimental switch into account.
  • Experimental programs (mdiff & friends) and a configure switch --enable-experimental to control them.
  • Recent imports from gnulib, use of recent autotools.
  • Improved autodetection of termcap library like ncurses.
  • Reformatted translations, still a number of fuzzy translations.
  • Changed from CVS to bzr for source code version control.
  • Various bug fixes. See ChangeLog for a more exhaustive list.

You will find a listing of release notes and other news items in the Savannah news archive.

Mailing lists

Wdiff has the following mailing lists:

Announcements about Wdiff and most other GNU software are made on info-gnu (archive).

Announcements about Wdiff are also available from the Savannah news archive.

Getting involved

Development of Wdiff, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list (see above).

For development sources, issue trackers, and other information, please see the Wdiff project page at The developer's guide has a lot more details for those wishing to contribute code or documentation.
Reporting bugs
There are two means of dealing with bugs, the Savannah bug tracker and the wdiff-bugs mailing list. Before reporting a new bug, please search at least the list of open bug reports in the bug tracker. A search through the mailing list archives will include bugs reported by mail or web interface, and is therefore likely to increase the number of hits for your search.
Translating Wdiff
To translate Wdiff's messages into other languages, please see the Translation Project page for Wdiff. If you have a new translation of the message strings, or updates to the existing strings, please have the changes made in this repository. Only translations from this site will be incorporated into Wdiff. For more information, see the Translation Project.
Wdiff is currently being maintained by Martin von Gagern. Please use the mailing lists for contact.


Wdiff 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 3 of the License, or (at your option) any later version.