# Install txt2man with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Converts flat ASCII text to man page format. Version 1.7.1 via Homebrew; verified 2026-06-14.

## Install

```sh
sudo av install brew:txt2man
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install txt2man
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install txt2man
```

  Evidence: MacPorts ports tree: textproc/txt2man/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add txt2man
```

  Evidence: Alpine Linux edge package indexes: txt2man from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install txt2man
```

  Evidence: Debian stable package indexes: txt2man from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install txt2man
```

  Evidence: Fedora Rawhide package metadata: txt2man from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#txt2man
```

  Evidence: nixpkgs package indexes: pkgs/by-name/tx/txt2man/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S txt2man
```

  Evidence: Arch Linux sync databases: txt2man from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install txt2man
```

  Evidence: openSUSE Tumbleweed package metadata: txt2man from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:txt2man
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/txt2man>
- **Version:** 1.7.1
- **Source summary:** Converts flat ASCII text to man page format
- **Homepage:** <https://github.com/mvertes/txt2man/>
- **Repository:** <https://github.com/mvertes/txt2man>
- **Upstream docs:** <https://github.com/mvertes/txt2man#readme>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/mvertes/txt2man/archive/refs/tags/txt2man-1.7.1.tar.gz>
- **Last updated:** 2026-06-14T15:13:53+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bookman (cli)
- src2man (cli)
- txt2man (cli)
- bookman (alias)
- src2man (alias)
- txt2man (alias)

## Dependencies

- gawk

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.7.1
- Package-manager updated: 2026-06-14
- Local data: ok
- Upstream repository: https://github.com/mvertes/txt2man
- Upstream latest detected: txt2man-1.7.1 (current)
## Project history and usage

txt2man is a shell and GNU awk tool that converts readable flat ASCII text into standard Unix man-page macros.

### Project history

The script copyright dates txt2man to 2001-2003, and its changelog starts with the 1.4.6 release in December 2002. It was designed to let authors keep documentation readable as plain text while still generating standard nroff/troff man pages.

The project expanded from the core `txt2man` converter into companion tools. The 2006 changelog records `bookman` for generating books from man pages and `src2man` for extracting man pages from source files, turning the project into a small Unix documentation toolkit.

### Adoption history

txt2man has unusually broad package-manager coverage for a small script: the supplied package facts list Alpine, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and openSUSE packaging. That reflects the utility of a dependency-light documentation generator in distro build scripts and upstream release processes.

The later changelog entries are mostly portability and reproducibility work: BSD/GNU date compatibility, gawk warning fixes, SOURCE_DATE_EPOCH support, and reproducible-build changes. Those are package-maintainer concerns, which helps explain why txt2man stayed relevant after its initial early-2000s release era.

### How it is used

Users write a text file with recognizable sections, paragraphs, lists, cross references, and literal blocks, then pipe or pass it to `txt2man` to produce man(7) macro output. It can also preview formatted output through groff and a pager.

### Why package nerds care

txt2man matters because it keeps the source of a manual page readable without hand-writing roff. For packagers, it is small, inspectable, friendly to reproducible builds, and suitable for projects that want man pages without adopting a larger documentation stack.

### Timeline

- 2001: txt2man script copyright begins.
- 2002: Changelog starts at txt2man 1.4.6.
- 2006: Changelog records `bookman` and `src2man` additions.
- 2016: GitHub release metadata records txt2man 1.6.0.
- 2020: GitHub release metadata records txt2man 1.7.1.

### Related projects

- bookman: companion command for compiling man pages into a book.
- src2man: companion command for extracting man pages from source files.
- groff and mandoc: output/formatting ecosystem referenced by the script help.

### Sources

- <https://api.github.com/repos/mvertes/txt2man/releases?per_page=20>
- <https://github.com/mvertes/txt2man>
- <https://raw.githubusercontent.com/mvertes/txt2man/master/Changelog>
- <https://raw.githubusercontent.com/mvertes/txt2man/master/README>
- <https://raw.githubusercontent.com/mvertes/txt2man/master/txt2man>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** txt2man
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - txt2man - 1.7.1-5: normalized package name match | Debian stable package indexes: txt2man from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | convert flat ASCII text to manpage format | https://github.com/mvertes/txt2man
- Nix - txt2man: normalized package name match | nixpkgs package indexes: pkgs/by-name/tx/txt2man/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - txt2man - 1.7.1-4: normalized package name match | Ubuntu 24.04 LTS package indexes: txt2man from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | convert flat ASCII text to manpage format | https://github.com/mvertes/txt2man
- apk - txt2man - 1.7.1-r1: normalized package name match | Alpine Linux edge package indexes: txt2man from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Convert flat ASCII text to man page format | https://github.com/mvertes/txt2man
- apk - txt2man-doc - 1.7.1-r1: normalized package name match | Alpine Linux edge package indexes: txt2man-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Convert flat ASCII text to man page format (documentation) | https://github.com/mvertes/txt2man
- dnf - txt2man - 1.7.1-11.fc44: normalized package name match | Fedora Rawhide package metadata: txt2man from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Convert flat ASCII text to man page format | https://github.com/mvertes/txt2man
- pacman - txt2man - 1.7.1-4: normalized package name match | Arch Linux sync databases: txt2man from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Converts flat ASCII text to man page format | https://github.com/mvertes/txt2man
- zypper - txt2man - 1.7.1-1.14: normalized package name match | openSUSE Tumbleweed package metadata: txt2man from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Convert Flat ASCII Text to man Page Format | https://github.com/mvertes/txt2man
- MacPorts - txt2man: normalized package name match | MacPorts ports tree: textproc/txt2man/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [gawk](https://www.automicvault.com/pkg/brew/gawk/) - Runtime dependency declared by Homebrew.
- [go-md2man](https://www.automicvault.com/pkg/brew/go-md2man/) - Shares av.db curated category or tags: cli, developer-tools, documentation, man-pages.
- [scdoc](https://www.automicvault.com/pkg/brew/scdoc/) - Shares av.db curated category or tags: cli, developer-tools, documentation, man-pages.
- [txt2tags](https://www.automicvault.com/pkg/brew/txt2tags/) - Shares av.db curated category or tags: cli, developer-tools, documentation, text-conversion.
- [action-docs](https://www.automicvault.com/pkg/brew/action-docs/) - Shares av.db curated category or tags: cli, developer-tools, documentation.
- [adr-tools](https://www.automicvault.com/pkg/brew/adr-tools/) - Shares av.db curated category or tags: cli, developer-tools, documentation.
- [adr-viewer](https://www.automicvault.com/pkg/brew/adr-viewer/) - Shares av.db curated category or tags: cli, developer-tools, documentation.
- [cargo-docset](https://www.automicvault.com/pkg/brew/cargo-docset/) - Shares av.db curated category or tags: cli, developer-tools, documentation.
- [cheat](https://www.automicvault.com/pkg/brew/cheat/) - Shares av.db curated category or tags: cli, developer-tools, documentation.
- [tofrodos](https://www.automicvault.com/pkg/brew/tofrodos/) - Local package facts share a topical domain. Shared terms: cli, conversion, converts, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/txt2man.yml](https://github.com/automic-vault/db/blob/main/combined/txt2man.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
