# Install mscgen with Homebrew, apt, dnf, MacPorts, Nix, zypper

Parses Message Sequence Chart descriptions and produces images. Version 0.20 via Homebrew; verified 2026-06-13.

## Install

```sh
sudo av install brew:mscgen
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install mscgen
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install mscgen
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install mscgen
```

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

- dnf (92%):

```sh
sudo dnf install mscgen
```

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

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

- zypper (92%):

```sh
sudo zypper install mscgen
```

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

## Package facts

- **Package key:** brew:mscgen
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/mscgen>
- **Version:** 0.20
- **Source summary:** Parses Message Sequence Chart descriptions and produces images
- **Homepage:** <https://www.mcternan.me.uk/mscgen/>
- **Repository:** <https://code.google.com/p/mscgen>
- **Upstream docs:** <https://www.mcternan.me.uk/mscgen>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://www.mcternan.me.uk/mscgen/software/mscgen-src-0.20.tar.gz>
- **Last updated:** 2026-06-13T23:35:05+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- mscgen (cli)
- mscgen (alias)

## Dependencies

- freetype
- gd

## Build dependencies

- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.20
- Package-manager updated: 2026-06-13
- Local data: ok
- Upstream repository: https://www.mcternan.me.uk/mscgen/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

mscgen is Michael McTernan's small Message Sequence Chart renderer and text language. The project page says it parses MSC descriptions and produces PNG, SVG, EPS, or server-side image-map output, with a syntax inspired by Graphviz DOT but simpler because sequence charts do not require general graph layout. It is written in ANSI C, uses the GD graphics library for PNG output, and is licensed under GPLv2.

### How it is used

Its adoption came through documentation tooling as much as standalone diagram generation. Doxygen 1.5.2 added `\msc` and `\endmsc` support after McTernan experimented with custom Doxygen modifications, letting developers embed MSCs alongside source-code documentation in a way similar to DOT diagrams. The project page also lists packaging for distributions and integrations or extensions for AsciiDoc, Sphinx, LaTeX, Org-mode, TWiki, and JIRA. In practice, mscgen fits the Unix-documentation niche: keep diagrams as reviewable text, render them in builds or docs, and use a smaller tool when Msc-generator's broader GUI and multi-chart feature set is unnecessary.

### Sources

- <https://formulae.brew.sh/formula/mscgen>
- <https://www.mcternan.me.uk/mscgen/>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** mscgen
- **Version Scheme:** 0
- **Revision:** 4
- **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 - mscgen - 0.20-16: normalized package name match | Debian stable package indexes: mscgen from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Message Sequence Chart (MSC) generator | https://www.mcternan.me.uk/mscgen/
- Nix - mscgen: normalized package name match | nixpkgs package indexes: pkgs/by-name/ms/mscgen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - mscgen - 0.20-15: normalized package name match | Ubuntu 24.04 LTS package indexes: mscgen from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Message Sequence Chart (MSC) generator | https://www.mcternan.me.uk/mscgen/
- Ubuntu apt - mscgen-dbgsym - 0.20-15: normalized package name match | Ubuntu 24.04 LTS package indexes: mscgen-dbgsym from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | debug symbols for mscgen
- dnf - mscgen - 0.20-43.fc44: normalized package name match | Fedora Rawhide package metadata: mscgen from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Message Sequence Chart rendering program | http://www.mcternan.me.uk/mscgen/
- zypper - mscgen - 0.20-3.29: normalized package name match | openSUSE Tumbleweed package metadata: mscgen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Message Sequence Chart Renderer | http://www.mcternan.me.uk/mscgen/
- MacPorts - mscgen: normalized package name match | MacPorts ports tree: graphics/mscgen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 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.
- [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.
- [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.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [mermaid-cli](https://www.automicvault.com/pkg/brew/mermaid-cli/) - Shares av.db curated category or tags: cli, developer-tools, documentation, png, svg.
- [msc-generator](https://www.automicvault.com/pkg/brew/msc-generator/) - Shares av.db curated category or tags: cli, developer-tools, diagramming, message-sequence-chart.
- [plantuml](https://www.automicvault.com/pkg/brew/plantuml/) - Shares av.db curated category or tags: cli, developer-tools, diagramming, documentation.
- [svgbob](https://www.automicvault.com/pkg/brew/svgbob/) - Shares av.db curated category or tags: cli, developer-tools, diagramming, svg.
- [clang-uml](https://www.automicvault.com/pkg/brew/clang-uml/) - Shares av.db curated category or tags: cli, developer-tools, diagramming.
- [d2](https://www.automicvault.com/pkg/brew/d2/) - Shares av.db curated category or tags: cli, developer-tools, diagramming.
- [diagram](https://www.automicvault.com/pkg/brew/diagram/) - Shares av.db curated category or tags: cli, developer-tools, diagramming.
- [ditaa](https://www.automicvault.com/pkg/brew/ditaa/) - Shares av.db curated category or tags: cli, developer-tools, diagramming.

## Combined YAML source

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