# Install xfig with Homebrew, apk, apt, dnf, MacPorts, Nix, zypper

Facility for interactive generation of figures. Version 3.2.9a via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:xfig
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xfig
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xfig
```

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

### Linux

- apk (92%):

```sh
sudo apk add xfig
```

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

- Debian apt (92%):

```sh
sudo apt install xfig
```

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

- dnf (92%):

```sh
sudo dnf install xfig
```

  Evidence: Fedora Rawhide package metadata: xfig 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#xfig
```

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

- zypper (92%):

```sh
sudo zypper install xfig
```

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

## Package facts

- **Package key:** brew:xfig
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xfig>
- **Version:** 3.2.9a
- **Source summary:** Facility for interactive generation of figures
- **Homepage:** <https://mcj.sourceforge.net/>
- **Repository:** <https://sourceforge.net/p/mcj/xfig/ci/master/tree>
- **Upstream docs:** <https://mcj.sourceforge.net/>
- **License:** MIT
- **Source archive:** <https://downloads.sourceforge.net/mcj/xfig-3.2.9a.tar.xz>
- **Last updated:** 2026-06-25T13:38:12+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- xfig (cli)
- xfig (alias)

## Dependencies

- fig2dev
- fontconfig
- freetype
- ghostscript
- jpeg-turbo
- libpng
- libtiff
- libx11
- libxaw3d
- libxft
- libxpm
- libxt

## Build dependencies

- gnu-sed

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.2.9a
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://mcj.sourceforge.net/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Xfig is a long-running interactive vector drawing program for the X Window System. Its package niche is not desktop publishing in general, but Unix diagramming: users draw in the plain-text Fig format, then use fig2dev, formerly TransFig, to export figures into PostScript, PDF, bitmap formats, LaTeX-family formats such as PSTricks and TikZ, and other technical-documentation targets.

### Project history

The official Fig format documentation preserves Xfig's early authorship trail: FIG began in 1985 with Supoj Sutanthavibul, Brian V. Smith is credited for parts from 1989 onward, and Paul King for parts in 1991. That lineage fits Xfig's place as a classic X11 application: a mouse-driven Athena-widget-era drawing editor that survived because it produced useful technical diagrams in a scriptable, inspectable file format.

Xfig evolved with its file format and export pipeline. Fig format 3.2 added header fields such as paper size, magnification, multiple-page state, and transparent GIF color, and replaced older spline models with X-splines based on the SIGGRAPH 1995 spline model. Later user-visible evolution included autoconf-based builds, PDF and TikZ export workflows through fig2dev, embedded PDF/image handling, and Unicode-oriented text work in the 3.2.9 line.

### Adoption history

Xfig became common in Unix and scientific communities because it sat between hand drawing and document build systems. The manual describes availability as pre-built packages across Linux distributions, BSDs, Darwin packaging systems, Cygwin, and Homebrew-era macOS, which is exactly the adoption pattern of old X11 tools that remain useful to technical users.

Its adoption is also visible in the surrounding ecosystem. The official installation page lists tools that read or write Fig files, including gnuplot, pstoedit, hp2xx, plotutils, and specialized utilities. That made the Fig format a practical interchange format for plots, diagrams, schematics, and document figures even when Xfig itself was only one step in the workflow.

### How it is used

Typical use is interactive: run `xfig`, draw lines, boxes, splines, text, imported images, layers, and symbols, then save a `.fig` file. Export and print workflows rely on fig2dev, either invoked from Xfig or run separately, to produce formats suitable for papers, manuals, slides, web images, and TeX documents.

Package-manager users still care about Xfig because it is small, local, and file-oriented. A `.fig` file is text, easy to version, and easier to regenerate than a binary drawing document. For old papers, lab notes, network diagrams, and LaTeX projects, installing Xfig plus fig2dev is often the shortest path to opening or rebuilding legacy figures.

### Why package nerds care

Xfig is package-nerd archaeology with practical teeth: an X11 GUI whose real contract is a durable file format and converter backend. It demonstrates how a graphical Unix program can remain package-worthy for decades when its files are text, its exporters are command-line friendly, and its output plugs into documentation toolchains.

It is also a reminder that GUI packages can be infrastructure. Downstream packages and users often need Xfig not for everyday drawing, but because a source tree, thesis, or engineering archive contains `.fig` files that must still render correctly.

### Timeline

- 1985: FIG begins with Supoj Sutanthavibul, according to the official Fig format copyright notice.
- 1989: Brian V. Smith begins contributing parts of Xfig, as recorded in the official format documentation.
- 1991: Paul King contributes parts of the program, also recorded in the official format documentation.
- 1995: Fig 3.2 adopts X-splines, citing the SIGGRAPH 1995 X-splines paper.
- About 2016: the export companion package name changes from TransFig to fig2dev in the official installation guidance.
- 3.2.9 era: Xfig adds more modern text handling, including UTF-8 internal text for Fig files and anti-aliased canvas fonts.

### Related projects

- fig2dev, formerly TransFig, is the converter backend that makes Xfig useful for print, bitmap, PDF, and TeX-oriented output.
- gnuplot, pstoedit, hp2xx, and GNU plotutils are related because they can produce, consume, or convert Fig-oriented technical graphics.
- Tgif, Ipe, and WinFIG occupy nearby territory as vector drawing tools for technical diagrams, X11-style workflows, or Fig-compatible editing.

### Sources

- <https://mcj.sourceforge.net/fig-format.html>
- <https://mcj.sourceforge.net/installation.html>
- <https://mcj.sourceforge.net/introduction.html>
- <https://mcj.sourceforge.net/new_features.html>
- <https://sourceforge.net/p/mcj/xfig/ci/master/tree>


## 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:** xfig
- **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 - xfig - 1:3.2.9a-3: normalized package name match | Debian stable package indexes: xfig from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Facility for Interactive Generation of figures under X11 | https://sourceforge.net/projects/mcj/
- Debian apt - xfig-doc - 1:3.2.9a-3: normalized package name match | Debian stable package indexes: xfig-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | XFig on-line documentation and examples | https://sourceforge.net/projects/mcj/
- Debian apt - xfig-libs - 1:3.2.9a-3: normalized package name match | Debian stable package indexes: xfig-libs from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | XFig image libraries and examples | https://sourceforge.net/projects/mcj/
- Nix - xfig: normalized package name match | nixpkgs package indexes: pkgs/by-name/xf/xfig/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - xfig - 1:3.2.9-2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: xfig from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Facility for Interactive Generation of figures under X11 | https://sourceforge.net/projects/mcj/
- Ubuntu apt - xfig-doc - 1:3.2.9-2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: xfig-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | XFig on-line documentation and examples | https://sourceforge.net/projects/mcj/
- Ubuntu apt - xfig-libs - 1:3.2.9-2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: xfig-libs from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | XFig image libraries and examples | https://sourceforge.net/projects/mcj/
- apk - xfig - 3.2.9a-r1: normalized package name match | Alpine Linux edge package indexes: xfig from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Interactive drawing tool which runs under X Window System | https://mcj.sourceforge.net/
- apk - xfig-doc - 3.2.9a-r1: normalized package name match | Alpine Linux edge package indexes: xfig-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Interactive drawing tool which runs under X Window System (documentation) | https://mcj.sourceforge.net/
- dnf - xfig - 3.2.9a-1.20250317gitce9782a.fc43: normalized package name match | Fedora Rawhide package metadata: xfig from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | An X Window System tool for drawing basic vector graphics | https://en.wikipedia.org/wiki/Xfig
- zypper - xfig - 3.2.9a-2.4: normalized package name match | openSUSE Tumbleweed package metadata: xfig from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Facility for Interactive Generation of Figures under the X Window System | https://sourceforge.net/projects/mcj/
- MacPorts - xfig: normalized package name match | MacPorts ports tree: graphics/xfig/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [fig2dev](https://www.automicvault.com/pkg/brew/fig2dev/) - Runtime dependency declared by Homebrew.
- [fontconfig](https://www.automicvault.com/pkg/brew/fontconfig/) - Runtime dependency declared by Homebrew.
- [freetype](https://www.automicvault.com/pkg/brew/freetype/) - Runtime dependency declared by Homebrew.
- [ghostscript](https://www.automicvault.com/pkg/brew/ghostscript/) - Runtime dependency declared by Homebrew.
- [jpeg-turbo](https://www.automicvault.com/pkg/brew/jpeg-turbo/) - Runtime dependency declared by Homebrew.
- [libpng](https://www.automicvault.com/pkg/brew/libpng/) - Runtime dependency declared by Homebrew.
- [libtiff](https://www.automicvault.com/pkg/brew/libtiff/) - Runtime dependency declared by Homebrew.
- [gnu-sed](https://www.automicvault.com/pkg/brew/gnu-sed/) - Build dependency declared by Homebrew.
- [ivtools](https://www.automicvault.com/pkg/brew/ivtools/) - Shares av.db curated category or tags: cli, drawing, graphics, media, vector-graphics.
- [tgif](https://www.automicvault.com/pkg/brew/tgif/) - Shares av.db curated category or tags: cli, drawing, graphics, media, vector-graphics.
- [plotutils](https://www.automicvault.com/pkg/brew/plotutils/) - Shares av.db curated category or tags: cli, graphics, media, vector-graphics.
- [potrace](https://www.automicvault.com/pkg/brew/potrace/) - Shares av.db curated category or tags: cli, graphics, media, vector-graphics.
- [xplanet](https://www.automicvault.com/pkg/brew/xplanet/) - Shares av.db curated category or tags: cli, graphics, media, x11.
- [aalib](https://www.automicvault.com/pkg/brew/aalib/) - Shares av.db curated category or tags: cli, graphics, media.
- [alembic](https://www.automicvault.com/pkg/brew/alembic/) - Shares av.db curated category or tags: cli, graphics, media.

## Combined YAML source

View the package source record on GitHub. [combined/xfig.yml](https://github.com/automic-vault/db/blob/main/combined/xfig.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
