macOS
brew install grofflocal Homebrew formula metadata
sudo port install groffMacPorts ports tree · sysutils/groff/Portfile · source: api.github.com
brew
GNU troff text-formatting system. Version 1.24.1 via Homebrew; verified from local package data.
install
brew install grofflocal Homebrew formula metadata
sudo port install groffMacPorts ports tree · sysutils/groff/Portfile · source: api.github.com
sudo apk add groffAlpine Linux edge package indexes · groff · source: dl-cdn.alpinelinux.org
sudo apt install groffDebian stable package indexes · groff · source: deb.debian.org
sudo dnf install groffFedora Rawhide package metadata · groff · source: dl.fedoraproject.org
nix profile install nixpkgs#groffnixpkgs package indexes · pkgs/by-name/gr/groff/package.nix · source: api.github.com
sudo pacman -S groffArch Linux sync databases · groff · source: geo.mirror.pkgbuild.com
sudo zypper install groffopenSUSE Tumbleweed package metadata · groff · source: download.opensuse.org
overview
GNU troff text-formatting system
history
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.
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.
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.
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.
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.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
addftinfo | cli | global executable | |
afmtodit | cli | global executable | |
chem | cli | global executable | |
eqn | cli | global executable | |
eqn2graph | cli | global executable | |
gdiffmk | cli | global executable | |
glilypond | cli | global executable | |
gperl | cli | global executable | |
gpinyin | cli | global executable | |
grap2graph | cli | global executable | |
grn | cli | global executable | |
grodvi | cli | global executable | |
groff | cli | global executable | |
grog | cli | global executable | |
grolbp | cli | global executable | |
grolj4 | cli | global executable | |
gropdf | cli | global executable | |
grops | cli | global executable | |
grotty | cli | global executable | |
hpftodit | cli | global executable | |
indxbib | cli | global executable | |
lkbib | cli | global executable | |
lookbib | cli | global executable | |
mmroff | cli | global executable | |
neqn | cli | global executable | |
nroff | cli | global executable | |
pdfmom | cli | global executable | |
pfbtops | cli | global executable | |
pic | cli | global executable | |
pic2graph | cli | global executable | |
post-grohtml | cli | global executable | |
pre-grohtml | cli | global executable | |
preconv | cli | global executable | |
refer | cli | global executable | |
soelim | cli | global executable | |
tbl | cli | global executable | |
tfmtodit | cli | global executable | |
troff | cli | global executable |
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.
https://www.gnu.org/software/groff/
install metadata
| Package key | brew:groff |
|---|---|
| Version | 1.24.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/groff |
| Homepage | https://www.gnu.org/software/groff/ |
| Repository | https://git.savannah.gnu.org/git/groff.git |
| Upstream docs | https://www.gnu.org/software/groff |
| License | GPL-3.0-or-later |
| Source archive | https://ftpmirror.gnu.org/gnu/groff/groff-1.24.1.tar.gz |
| Dependencies | ghostscript, netpbm, psutils, uchardet |
| Build dependencies | pkgconf, texinfo |
| Uses from macOS | perl |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | groff |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
groff 1.23.0-9
GNU troff text-formatting system
https://www.gnu.org/software/groff/
sudo apt install groffgroff-base 1.23.0-9
GNU troff text-formatting system (base system components)
https://www.gnu.org/software/groff/
sudo apt install groff-basegroff
nix profile install nixpkgs#groffgroff 1.23.0-3build2
GNU troff text-formatting system
https://www.gnu.org/software/groff/
sudo apt install groffgroff-base 1.23.0-3build2
GNU troff text-formatting system (base system components)
https://www.gnu.org/software/groff/
sudo apt install groff-basegroff 1.24.1-r0
GNU troff text-formatting system
https://www.gnu.org/software/groff/groff.html
sudo apk add groffgroff-doc 1.24.1-r0
GNU troff text-formatting system (documentation)
https://www.gnu.org/software/groff/groff.html
sudo apk add groff-docgroff 1.24.0-1.fc45
A document formatting system
http://www.gnu.org/software/groff/
sudo dnf install groffgroff-base 1.24.0-1.fc45
Parts of the groff formatting system required to display manual pages
http://www.gnu.org/software/groff/
sudo dnf install groff-basegroff-doc 1.24.0-1.fc45
Documentation for groff document formatting system
http://www.gnu.org/software/groff/
sudo dnf install groff-docgroff-perl 1.24.0-1.fc45
Parts of the groff formatting system that require Perl
http://www.gnu.org/software/groff/
sudo dnf install groff-perlgroff-x11 1.24.0-1.fc45
Parts of the groff formatting system that require X Windows System
http://www.gnu.org/software/groff/
sudo dnf install groff-x11groff 1.24.1-1
GNU troff text-formatting system
https://www.gnu.org/software/groff/groff.html
sudo pacman -S groffgroff 1.23.0-6.2
GNU troff Document Formatting System
http://www.gnu.org/software/groff/groff.html
sudo zypper install groffsoelim-common 1.23.0-6.2
Common package for soelim alternatives
http://www.gnu.org/software/groff/groff.html
sudo zypper install soelim-commongroff
sudo port install groffsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.