# Install graphviz with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

Graph visualization software from AT&T and Bell Labs. Version 15.1.0 via Homebrew; verified 2026-07-02.

## Install

```sh
sudo av install brew:graphviz
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install graphviz
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install graphviz
```

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

### Linux

- apk (92%):

```sh
sudo apk add graphviz
```

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

- Debian apt (92%):

```sh
sudo apt install graphviz
```

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

- dnf (92%):

```sh
sudo dnf install graphviz
```

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

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

- pacman (92%):

```sh
sudo pacman -S graphviz
```

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

- zypper (92%):

```sh
sudo zypper install graphviz
```

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

### Windows

- Chocolatey (92%):

```sh
choco install Graphviz
```

  Evidence: Chocolatey community package catalog: Graphviz from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','gpg4win-vanilla'

- Scoop (92%):

```sh
scoop install main/graphviz
```

  Evidence: Scoop official bucket manifest trees: bucket/graphviz.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id Graphviz.Graphviz -e
```

  Evidence: Windows Package Manager source index: Graphviz.Graphviz from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:graphviz
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/graphviz>
- **Version:** 15.1.0
- **Source summary:** Graph visualization software from AT&T and Bell Labs
- **Homepage:** <https://graphviz.org/>
- **Repository:** <https://gitlab.com/graphviz/graphviz>
- **Upstream docs:** <https://graphviz.org/documentation>
- **License:** EPL-1.0
- **Source archive:** <https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/15.1.0/graphviz-15.1.0.tar.xz>
- **Last updated:** 2026-07-02T04:55:06Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- acyclic (cli)
- bcomps (cli)
- ccomps (cli)
- circo (cli)
- cluster (cli)
- dijkstra (cli)
- dot (cli)
- dot2gxl (cli)
- dot_builtins (cli)
- dot_sandbox (cli)
- edgepaint (cli)
- fdp (cli)
- gml2gv (cli)
- graphml2gv (cli)
- gv2gml (cli)
- gv2gxl (cli)
- gvcolor (cli)
- gvgen (cli)
- gvmap (cli)
- gvmap.sh (cli)
- gvpack (cli)
- gvpr (cli)
- gxl2dot (cli)
- gxl2gv (cli)
- mm2gv (cli)
- neato (cli)
- nop (cli)
- osage (cli)
- patchwork (cli)
- prune (cli)
- sccmap (cli)
- sfdp (cli)
- tred (cli)
- twopi (cli)
- unflatten (cli)
- acyclic (alias)
- bcomps (alias)
- ccomps (alias)
- circo (alias)
- cluster (alias)
- dijkstra (alias)
- dot (alias)
- dot2gxl (alias)
- dot_builtins (alias)
- dot_sandbox (alias)
- edgepaint (alias)
- fdp (alias)
- gml2gv (alias)
- graphml2gv (alias)
- gv2gml (alias)
- gv2gxl (alias)
- gvcolor (alias)
- gvgen (alias)
- gvmap (alias)
- gvmap.sh (alias)
- gvpack (alias)
- gvpr (alias)
- gxl2dot (alias)
- gxl2gv (alias)
- mm2gv (alias)
- neato (alias)
- nop (alias)
- osage (alias)
- patchwork (alias)
- prune (alias)
- sccmap (alias)
- sfdp (alias)
- tred (alias)
- twopi (alias)
- unflatten (alias)

## Dependencies

- cairo
- fontconfig
- freetype
- gd
- gdk-pixbuf
- gettext
- glib
- gts
- harfbuzz
- libpng
- librsvg
- libtool
- pango
- webp

## Build dependencies

- bison
- pkgconf

## Uses from macOS

- expat

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 15.1.0
- Package-manager updated: 2026-07-02
- Local data: ok
- Upstream repository: https://graphviz.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Graphviz is one of the durable command-line graph drawing toolkits from the Bell Labs and AT&T research tradition. Its center of gravity is the DOT language and a family of layout engines, especially dot for ranked directed graphs and neato for undirected layouts.

For package-manager users, Graphviz matters because it is both an end-user CLI suite and a system dependency. Many documentation generators, static analysis tools, build systems, notebook workflows, and language bindings call out to dot or link against Graphviz libraries rather than implementing graph layout themselves.

### Project history

The project's roots go back to research on drawing directed graphs for software engineering and structured data. The Graphviz history discussion by project participants describes the initial kernel as an attempt to draw software-engineering graphs, with ranking via network simplex becoming central to directed graph layout.

AT&T Bell Laboratories research papers from the early 1990s formalized the dot approach. The 1993 directed-graph drawing paper describes a four-pass algorithm for rank assignment, crossing reduction, coordinate assignment, and spline edge routing, and the later Graphviz toolkit paper frames the project as a set of stream-oriented filters, libraries, and interactive front ends.

By the early 2000s, Graphviz had expanded from dot into a family of engines and tools: neato, twopi, circo, fdp, sfdp, gvpr, sccmap, unflatten, and others. The official credits page records the long-running roles of Emden Gansner, Stephen North, John Ellson, Yifan Hu, Eleftherios Koutsofios, Gordon Woodhull, and later maintainers.

### Adoption history

Graphviz spread because it fit Unix package culture: users could write a small DOT file, pipe it through a renderer, and get PostScript, SVG, PDF, PNG, image maps, or other output without a heavyweight diagram editor. Its stream model made it easy for other tools to emit DOT as an interchange format.

The official download page documents broad operating-system packaging, including Debian and Ubuntu apt, Fedora and related dnf packages, Windows installers, and GitLab-hosted release artifacts. Homebrew, MacPorts, Nix, Scoop, Chocolatey, distro packages, and language-specific wrappers made Graphviz a common transitive dependency in developer environments.

### How it is used

Typical CLI usage is to save a graph in DOT syntax and run an engine such as dot, neato, fdp, sfdp, circo, or twopi to produce a rendered artifact. Supporting commands such as tred, unflatten, sccmap, gvpack, gvpr, and ccomps make Graphviz useful as a graph-processing toolkit, not only as a renderer.

Graphviz is often installed so other tools can find the dot executable. Python, R, JavaScript, documentation, modeling, reverse-engineering, and CI workflows commonly generate DOT and delegate layout to the packaged Graphviz binary or libraries.

### Why package nerds care

Graphviz is a classic example of a small CLI surface hiding a large native dependency stack: C libraries, plugins, font and image handling, multiple layout engines, and platform-specific packaging decisions. Its formulae and distro packages are watched because many higher-level packages fail in surprising ways when dot is missing.

The package is also a useful test case for long-lived open-source infrastructure moving from research lab origins into modern forge hosting. The official GitLab repository records a project imported into GitLab in 2017, while the documented algorithms and manpages preserve a much older Bell Labs lineage.

### Timeline

- 1988: The DAG directed-graph drawing program appears in the research lineage cited by Graphviz papers.
- 1993: The directed graph drawing algorithm behind dot is published in IEEE Transactions on Software Engineering.
- 1999: The Graphviz toolkit paper describes libraries, layout tools, graph filters, and stream-oriented design.
- 2003: Graphviz and Dynagraph are presented as static and dynamic graph drawing tools from AT&T Labs Research.
- 2017: The official Graphviz source repository is created on GitLab.
- 2024: The official credits page still records the multi-decade contributor base behind dot, neato, plugins, build work, and related tools.

### Related projects

- DOT language: the textual graph description language consumed by Graphviz layout engines.
- Dynagraph: a related AT&T Labs project for dynamic and incremental graph layout.
- graphviz2drawio, pydot, PyGraphviz, d3-graphviz, and many language bindings depend on Graphviz concepts, binaries, or libraries.

### Sources

- <https://forum.graphviz.org/t/the-history-of-graphviz/765>
- <https://gitlab.com/graphviz/graphviz>
- <https://graphviz.org/credits/>
- <https://graphviz.org/documentation/>
- <https://graphviz.org/documentation/EGKNW03.pdf>
- <https://graphviz.org/documentation/GN99.pdf>
- <https://graphviz.org/documentation/TSE93.pdf>
- <https://graphviz.org/download/>


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal

## Source Database Details

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

## Other Package-Manager Records

- Debian apt - graphviz - 2.42.4-3: normalized package name match | Debian stable package indexes: graphviz from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools | https://www.graphviz.org/
- Debian apt - graphviz-doc - 2.42.4-3: normalized package name match | Debian stable package indexes: graphviz-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | additional documentation for graphviz | https://www.graphviz.org/
- Debian apt - libcdt5 - 2.42.4-3: normalized package name match | Debian stable package indexes: libcdt5 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools - cdt library | https://www.graphviz.org/
- Debian apt - libcgraph6 - 2.42.4-3: normalized package name match | Debian stable package indexes: libcgraph6 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools - cgraph library | https://www.graphviz.org/
- Debian apt - libgraphviz-dev - 2.42.4-3: normalized package name match | Debian stable package indexes: libgraphviz-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | graphviz libs and headers against which to build applications | https://www.graphviz.org/
- Debian apt - libgv-guile - 2.42.4-3: normalized package name match | Debian stable package indexes: libgv-guile from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Guile bindings for graphviz | https://www.graphviz.org/
- Debian apt - libgv-lua - 2.42.4-3: normalized package name match | Debian stable package indexes: libgv-lua from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Lua bindings for graphviz | https://www.graphviz.org/
- Debian apt - libgv-perl - 2.42.4-3: normalized package name match | Debian stable package indexes: libgv-perl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Perl bindings for graphviz | https://www.graphviz.org/
- Debian apt - libgv-ruby - 2.42.4-3: normalized package name match | Debian stable package indexes: libgv-ruby from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Ruby bindings for graphviz | https://www.graphviz.org/
- Debian apt - libgv-tcl - 2.42.4-3: normalized package name match | Debian stable package indexes: libgv-tcl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tcl bindings for graphviz | https://www.graphviz.org/
- Debian apt - libgvc6 - 2.42.4-3: normalized package name match | Debian stable package indexes: libgvc6 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools - gvc library | https://www.graphviz.org/
- Debian apt - libgvc6-plugins-gtk - 2.42.4-3: normalized package name match | Debian stable package indexes: libgvc6-plugins-gtk from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools - gtk plugins | https://www.graphviz.org/
- Debian apt - libgvpr2 - 2.42.4-3: normalized package name match | Debian stable package indexes: libgvpr2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools - gvpr library | https://www.graphviz.org/
- Debian apt - liblab-gamut1 - 2.42.4-3: normalized package name match | Debian stable package indexes: liblab-gamut1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools - liblab_gamut library | https://www.graphviz.org/
- Debian apt - libpathplan4 - 2.42.4-3: normalized package name match | Debian stable package indexes: libpathplan4 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools - pathplan library | https://www.graphviz.org/
- Debian apt - libxdot4 - 2.42.4-3: normalized package name match | Debian stable package indexes: libxdot4 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | rich set of graph drawing tools - xdot library | https://www.graphviz.org/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [cairo](https://www.automicvault.com/pkg/brew/cairo/) - 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.
- [gd](https://www.automicvault.com/pkg/brew/gd/) - Runtime dependency declared by Homebrew.
- [gdk-pixbuf](https://www.automicvault.com/pkg/brew/gdk-pixbuf/) - Runtime dependency declared by Homebrew.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [gts](https://www.automicvault.com/pkg/brew/gts/) - Runtime dependency declared by Homebrew.
- [bison](https://www.automicvault.com/pkg/brew/bison/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [dnsviz](https://www.automicvault.com/pkg/brew/dnsviz/) - Popular package that depends on this formula.
- [dockerfilegraph](https://www.automicvault.com/pkg/brew/dockerfilegraph/) - Popular package that depends on this formula.
- [eralchemy](https://www.automicvault.com/pkg/brew/eralchemy/) - Popular package that depends on this formula.
- [fobis](https://www.automicvault.com/pkg/brew/fobis/) - Popular package that depends on this formula.
- [ford](https://www.automicvault.com/pkg/brew/ford/) - Popular package that depends on this formula.
- [gammaray](https://www.automicvault.com/pkg/brew/gammaray/) - Popular package that depends on this formula.
- [git-big-picture](https://www.automicvault.com/pkg/brew/git-big-picture/) - Popular package that depends on this formula.
- [gprof2dot](https://www.automicvault.com/pkg/brew/gprof2dot/) - Popular package that depends on this formula.
- [xfig](https://www.automicvault.com/pkg/brew/xfig/) - Shares av.db curated category or tags: cli, diagramming, media.
- [a52dec](https://www.automicvault.com/pkg/brew/a52dec/) - Shares av.db curated category or tags: cli, media.
- [aalib](https://www.automicvault.com/pkg/brew/aalib/) - Shares av.db curated category or tags: cli, media.
- [ab-av1](https://www.automicvault.com/pkg/brew/ab-av1/) - Shares av.db curated category or tags: cli, media.
- [abcde](https://www.automicvault.com/pkg/brew/abcde/) - Shares av.db curated category or tags: cli, media.
- [abcm2ps](https://www.automicvault.com/pkg/brew/abcm2ps/) - Shares av.db curated category or tags: cli, media.

## Combined YAML source

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