pkg.soopen package index

brew / rank 1646

Install groff with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

GNU troff text-formatting system. Version 1.24.1 via Homebrew; verified from local package data. Also installable with debian: sudo apt install groff.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install groff

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install groff

MacPorts ports tree · sysutils/groff/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add groff

Alpine Linux edge package indexes · groff · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install groff

Debian stable package indexes · groff · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install groff

Fedora Rawhide package metadata · groff · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#groff

nixpkgs package indexes · pkgs/by-name/gr/groff/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S groff

Arch Linux sync databases · groff · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install groff

openSUSE Tumbleweed package metadata · groff · source: download.opensuse.org

overview

Package summary

GNU troff text-formatting system

Commands and aliases

  • addftinfo
  • afmtodit
  • chem
  • eqn
  • eqn2graph
  • gdiffmk
  • glilypond
  • gperl
  • gpinyin
  • grap2graph
  • grn
  • grodvi
  • groff
  • grog
  • grolbp
  • grolj4
  • gropdf
  • grops
  • grotty
  • hpftodit
  • indxbib
  • lkbib
  • lookbib
  • mmroff
  • neqn
  • nroff
  • pdfmom
  • pfbtops
  • pic
  • pic2graph
  • post-grohtml
  • pre-grohtml

history

Project history and usage

GNU groff is the GNU implementation of the roff/troff document formatting system. It is one of the quiet infrastructure packages of Unix-like systems: a typesetting suite, a macro and preprocessor ecosystem, and the historical engine behind a large share of manual-page formatting.

Project history

groff belongs to the roff family that began with early Unix text formatting. The GNU manual places it in the line of roff, nroff, and troff: plain text mixed with formatting requests is processed into terminal, printer, PostScript, PDF, HTML, or DVI output. GNU describes groff as a reimplementation and extension of troff and related AT&T Unix programs.

The package was written primarily by James Clark as the GNU replacement for proprietary Unix troff/nroff tooling. GNU's own distribution archive records early public source releases in 1991 and later tarball history across the 1990s, while the project homepage identifies the Savannah Git repository as the development source.

Over time groff became much more than the `troff` formatter. The package includes preprocessors and helpers such as `eqn`, `tbl`, `pic`, `refer`, `soelim`, `grn`, `chem`, `grog`, and output drivers such as `grops`, `gropdf`, `grohtml`, `grodvi`, and `grotty`. Its macro packages let users write manual pages, memoranda, papers, books, and technical documents without adopting a WYSIWYG editor.

Maintenance also reflects a long-lived GNU package rather than a short utility. The GNU homepage lists G. Branden Robinson as maintainer and Bertrand Garrigues and Werner Lemberg as maintainers emeriti. GNU mailing-list announcements document continuing release work, including the 1.23.0 announcement after years of accumulated documentation, man-page, and code changes.

Adoption history

groff's adoption came from Unix documentation culture. GNU states that groff is widely available on POSIX and other systems because of its long association with Unix manuals, including man pages. On many Linux systems, `man` pipelines historically depended on groff or compatible roff tooling to render installed manual pages.

Distribution packaging made groff ordinary infrastructure: sometimes installed as part of a base system, sometimes split into runtime, documentation, debug, or full packages. The GNU homepage explicitly notes that many GNU/Linux distributions offer groff source and binary packages and may subdivide the installation.

The package also carried older document workflows forward. GNU notes that groff and its predecessor produced several best-selling software engineering texts, and the manual documents workflows that combine low-level requests, macro packages, preprocessors, and output drivers.

How it is used

The usual CLI pattern is a pipeline hidden behind `groff`: preprocessors such as `tbl`, `eqn`, `pic`, or `refer` transform input, `troff` formats it, and a postprocessor targets a terminal, PostScript, PDF, HTML, DVI, or printer format. The `grog` helper can inspect a document and suggest the needed `groff` options.

For everyday package users, groff is most often noticed through `man`, `nroff`, and manual-page macros rather than as a book-production system. For document authors, it remains a programmable text formatting tool where source files are plain text and outputs are generated reproducibly.

Unlike many CLI tools in this batch, groff has no normal per-user credentials and no single project config file. Its behavior is driven by command-line options, macro files, font/devices data, and documents being formatted.

Why package nerds care

groff is package-nerd bedrock. It is a GNU package that exists because Unix documentation is source code too: plain text inputs, macros, preprocessors, build rules, and deterministic outputs. Removing or replacing it affects not one app but the documentation pipeline of an operating system.

It also explains why package manifests sometimes contain a surprising pile of tiny executables. `groff` is a suite with historical Unix tool boundaries preserved: separate commands for tables, equations, pictures, bibliographies, device conversion, and terminal output.

The package is especially relevant to Homebrew and Unix-like packaging because macOS and BSD systems have had different relationships with groff and mandoc over time. Installing GNU groff gives users the GNU roff toolchain even on platforms where the base system uses a smaller man-page-focused formatter.

Timeline

  • 1970s: roff, nroff, and troff became part of early Unix document preparation culture.
  • 1980s: ditroff and related preprocessors shaped the model that groff later reimplemented and extended.
  • 1991-06-02: GNU's archive records groff 1.02 source distribution.
  • 1991-11-17: GNU's archive records groff 1.04 source distribution.
  • 1990s: groff became the GNU replacement for proprietary Unix troff/nroff implementations across free Unix-like systems.
  • 2001: GNU announced groff 1.17 on the info-gnu mailing list.
  • 2018-12 to 2023-07: The 1.23.0 announcement summarized years of work since 1.22.4, including thousands of commits and extensive manual-page updates.
  • 2026: GNU's project page documented groff 1.24.1 and the Savannah Git repository as the development source.

Related projects

  • AT&T Unix troff, nroff, roff, and ditroff are groff's historical predecessors.
  • mandoc is a related man-page-focused formatter used by some BSD-derived systems.
  • TeX is the other major historical plain-text typesetting ecosystem often compared with roff-family tools.
  • GNU Texinfo overlaps with groff in the broader GNU documentation toolchain.
  • man-db and similar manual-page viewers commonly invoke roff-compatible formatters.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
addftinfoexecutableindexed executableDiscovered from the local executable index.
afmtoditexecutableindexed executableDiscovered from the local executable index.
chemexecutableindexed executableDiscovered from the local executable index.
eqnexecutableindexed executableDiscovered from the local executable index.
eqn2graphexecutableindexed executableDiscovered from the local executable index.
gdiffmkexecutableindexed executableDiscovered from the local executable index.
glilypondexecutableindexed executableDiscovered from the local executable index.
gperlexecutableindexed executableDiscovered from the local executable index.
gpinyinexecutableindexed executableDiscovered from the local executable index.
grap2graphexecutableindexed executableDiscovered from the local executable index.
grnexecutableindexed executableDiscovered from the local executable index.
grodviexecutableindexed executableDiscovered from the local executable index.
groffexecutableindexed executableDiscovered from the local executable index.
grogexecutableindexed executableDiscovered from the local executable index.
grolbpexecutableindexed executableDiscovered from the local executable index.
grolj4executableindexed executableDiscovered from the local executable index.
gropdfexecutableindexed executableDiscovered from the local executable index.
gropsexecutableindexed executableDiscovered from the local executable index.
grottyexecutableindexed executableDiscovered from the local executable index.
hpftoditexecutableindexed executableDiscovered from the local executable index.
indxbibexecutableindexed executableDiscovered from the local executable index.
lkbibexecutableindexed executableDiscovered from the local executable index.
lookbibexecutableindexed executableDiscovered from the local executable index.
mmroffexecutableindexed executableDiscovered from the local executable index.
neqnexecutableindexed executableDiscovered from the local executable index.
nroffexecutableindexed executableDiscovered from the local executable index.
pdfmomexecutableindexed executableDiscovered from the local executable index.
pfbtopsexecutableindexed executableDiscovered from the local executable index.
picexecutableindexed executableDiscovered from the local executable index.
pic2graphexecutableindexed executableDiscovered from the local executable index.
post-grohtmlexecutableindexed executableDiscovered from the local executable index.
pre-grohtmlexecutableindexed executableDiscovered from the local executable index.
preconvexecutableindexed executableDiscovered from the local executable index.
referexecutableindexed executableDiscovered from the local executable index.
soelimexecutableindexed executableDiscovered from the local executable index.
tblexecutableindexed executableDiscovered from the local executable index.
tfmtoditexecutableindexed executableDiscovered from the local executable index.
troffexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version1.24.1
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:groff
Version1.24.1
Package managerHomebrew
Homepagehttps://www.gnu.org/software/groff/
Bottlenot recorded
Servicenone declared

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

groff 1.23.0-9

GNU troff text-formatting system

https://www.gnu.org/software/groff/

sudo apt install groff
  • Section: text
  • Architecture: amd64
  • 8 dependencies
  • 2 provides
  • 5 optional deps
  • normalized package name match
  • Matched by: Groff
Debian stable package indexes · deb.debian.org · Debian stable package indexes: groff from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

groff-base 1.23.0-9

GNU troff text-formatting system (base system components)

https://www.gnu.org/software/groff/

sudo apt install groff-base
  • Section: text
  • Architecture: amd64
  • Source Package: groff
  • 4 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Groff
Debian stable package indexes · deb.debian.org · Debian stable package indexes: groff-base from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

groff

nix profile install nixpkgs#groff
  • normalized package name match
  • Matched by: Groff
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/gr/groff/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

groff 1.23.0-3build2

GNU troff text-formatting system

https://www.gnu.org/software/groff/

sudo apt install groff
  • Section: universe/text
  • Architecture: amd64
  • 8 dependencies
  • 2 provides
  • 6 optional deps
  • normalized package name match
  • Matched by: Groff
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: groff from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

groff-base 1.23.0-3build2

GNU troff text-formatting system (base system components)

https://www.gnu.org/software/groff/

sudo apt install groff-base
  • Section: text
  • Architecture: amd64
  • Source Package: groff
  • 4 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Groff
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: groff-base from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz
apk95%

groff 1.24.1-r0

GNU troff text-formatting system

https://www.gnu.org/software/groff/groff.html

sudo apk add groff
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: groff
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Groff
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: groff from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

groff-doc 1.24.1-r0

GNU troff text-formatting system (documentation)

https://www.gnu.org/software/groff/groff.html

sudo apk add groff-doc
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: groff
  • normalized package name match
  • Matched by: Groff
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: groff-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
dnf95%

groff 1.24.1-2.fc45

A document formatting system

http://www.gnu.org/software/groff/

sudo dnf install groff
  • License: GPL-3.0-or-later AND GFDL-1.3-or-later AND BSD-4-Clause-UC AND MIT AND X11 AND LicenseRef-Fedora-Public-Domain
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: groff
  • 10 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Groff
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: groff from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst
dnf95%

groff-base 1.24.1-2.fc45

Parts of the groff formatting system required to display manual pages

http://www.gnu.org/software/groff/

sudo dnf install groff-base
  • License: GPL-3.0-or-later AND GFDL-1.3-or-later AND BSD-4-Clause-UC AND MIT AND X11 AND LicenseRef-Fedora-Public-Domain
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: groff
  • 8 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Groff
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: groff-base from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst
dnf95%

groff-doc 1.24.1-2.fc45

Documentation for groff document formatting system

http://www.gnu.org/software/groff/

sudo dnf install groff-doc
  • License: GPL-3.0-or-later AND GFDL-1.3-or-later AND BSD-4-Clause-UC AND MIT AND X11 AND LicenseRef-Fedora-Public-Domain
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: groff
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Groff
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: groff-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst
dnf95%

groff-perl 1.24.1-2.fc45

Parts of the groff formatting system that require Perl

http://www.gnu.org/software/groff/

sudo dnf install groff-perl
  • License: GPL-3.0-or-later AND GFDL-1.3-or-later AND BSD-4-Clause-UC AND MIT AND X11 AND LicenseRef-Fedora-Public-Domain
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: groff
  • 3 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Groff
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: groff-perl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst
dnf95%

groff-x11 1.24.1-2.fc45

Parts of the groff formatting system that require X Windows System

http://www.gnu.org/software/groff/

sudo dnf install groff-x11
  • License: GPL-3.0-or-later AND GFDL-1.3-or-later AND BSD-4-Clause-UC AND MIT AND X11 AND LicenseRef-Fedora-Public-Domain
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: groff
  • 8 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Groff
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: groff-x11 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst
pacman95%

groff 1.24.1-1

GNU troff text-formatting system

https://www.gnu.org/software/groff/groff.html

sudo pacman -S groff
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • 4 dependencies
  • 4 optional deps
  • normalized package name match
  • Matched by: Groff
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: groff from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz
zypper95%

groff 1.23.0-6.4

GNU troff Document Formatting System

http://www.gnu.org/software/groff/groff.html

sudo zypper install groff
  • License: GPL-3.0-or-later
  • Category: Productivity/Publishing/Troff
  • Architecture: x86_64
  • Source Package: groff
  • 8 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Groff
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: groff from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst
zypper95%

soelim-common 1.23.0-6.4

Common package for soelim alternatives

http://www.gnu.org/software/groff/groff.html

sudo zypper install soelim-common
  • License: GPL-3.0-or-later
  • Category: Productivity/Publishing/Troff
  • Architecture: noarch
  • Source Package: groff
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Groff
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: soelim-common from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst
MacPorts95%

groff

sudo port install groff
  • normalized package name match
  • Matched by: Groff
MacPorts ports tree · api.github.com · MacPorts ports tree: sysutils/groff/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation