[GNU Tools for Printed Media]

GNU troff (groff) — a GNU project

Table of Contents

If you would like to contribute to groff, please have a look at the Mission Statement, or send a mail to the list groff@gnu.org

Please note that contributing to this package requires assigning copyright to the FSF.


Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands and produces formatted output. Output may be PostScript or PDF, html, or ASCII/UTF8 for display at the terminal. Formatting commands may be either low-level typesetting requests (“primitives”) or macros from a supplied set. Users may also write their own macros. All three may be combined.

Present on most Unix systems owing to its long association with Unix manuals (manpages), groff is capable of producing typographically sophisticated documents while consuming only minimal system resources.

Groff is released under the GNU General Public License.

User issues lead: Ted Harding.
Technical expert: Werner Lemberg.
Maintainer: Bertrand Garrigues.

Mission Statement

If you would like to contribute to groff, or are interested to know where groff is headed, have a look at the Mission Statement.

An example of groff usage can be seen in groff-mission-statement.mom, mission-statement-style.mom and mission-statement-strings.mom which were used to generate the PDF version.

Downloading Groff

The source code of the currently released versions of groff are available at the GNU host; the current development version is available from a git repository. The current version is 1.22.3 (04-Nov-2014).

To view the git repository in your browser, use Savannah's cgit interface. There you can also download snapshots; simply click on a commit entry line to get the URL.

Additional contributions can be found here.

Platform Binaries:


Groff documentation, provided on your system after you install:

Please also see the README, and other documents referenced therein, provided with the groff source (sometimes installed to /usr/share/doc/groff*), the online manual, and this page.

Mailing Lists

Groff has three mailing lists:

To subscribe to a groff mailing list, go to the one of the corresponding web pages:

Alternatively, please send an empty mail with a Subject: header line of subscribe to the relevant xxx-request list. For example, to subscribe yourself to the main groff list, you would send mail to <groff-request@gnu.org> with no body and a Subject: header line of only subscribe.

Mailing lists archives can be found at the following locations:

Bug reports

Please report bugs using the bug tracker available from the project page. Alternatively, but less preferable, you may use the form in the file BUG-REPORT (provided with the groff source); the idea of this is to make sure that we have all the information we need to fix the bug. At the very least, read the BUG-REPORT form and make sure that you supply all the information that it asks for. Even if you are not sure that something is a bug, report it using BUG-REPORT: this will enable us to determine whether it really is a bug or not.