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

Convert XML to another format (based on XSL or other tools). Version 0.0.29 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:xmlto
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xmlto
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xmlto
```

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

### Linux

- apk (92%):

```sh
sudo apk add xmlto
```

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

- Debian apt (92%):

```sh
sudo apt install xmlto
```

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

- dnf (92%):

```sh
sudo dnf install xmlto
```

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

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

- pacman (92%):

```sh
sudo pacman -S xmlto
```

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

- zypper (92%):

```sh
sudo zypper install xmlto
```

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

## Package facts

- **Package key:** brew:xmlto
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xmlto>
- **Version:** 0.0.29
- **Source summary:** Convert XML to another format (based on XSL or other tools)
- **Homepage:** <https://pagure.io/xmlto/>
- **Repository:** <https://pagure.io/xmlto>
- **Upstream docs:** <https://pagure.io/xmlto>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://pagure.io/xmlto/archive/0.0.29/xmlto-0.0.29.tar.gz>
- **Last updated:** 2026-06-22T14:06:42-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- xmlif (cli)
- xmlto (cli)
- xmlif (alias)
- xmlto (alias)

## Dependencies

- docbook
- docbook-xsl
- gnu-getopt

## Build dependencies

- autoconf
- automake

## Uses from macOS

- libxslt

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.0.29
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://pagure.io/xmlto/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

xmlto is a shell-script frontend for converting XML documents to many output formats without making users remember the detailed command lines for XSLT processors and formatting backends. Its strongest association is DocBook-era documentation pipelines.

### Project history

The upstream changelog begins with a 0.0.0 stable release in November 2001. Early development, largely by Tim Waugh with contributions from Joe Orton and Eric S. Raymond, focused on DocBook-to-manpage and DocBook-to-output-format glue, format scripts, option parsing, and the db2man stylesheet era.

The project soon added xmlif, a companion utility for conditional XML filtering, and moved toward relying on external DocBook XSL stylesheets rather than shipping its own db2man copy. Later releases added validation behavior, XInclude handling, better portability, FOP and dblatex support, xhtml1 input support, epub output, profiling support, and fewer shell portability traps.

The README says xmlto has been maintained by Ondrej Vasik since 0.0.19 and co-maintained by Ondrej Sloup since 0.0.29. The 0.0.29 news entry modernized the repository files, Fedora spec handling, Cygwin/MSYS output paths, and build behavior.

### Adoption history

xmlto became useful wherever XML documentation had to produce man pages, HTML, PDF, PostScript, text, or other generated artifacts as part of a build. Its adoption was helped by being a small wrapper over common tools such as xsltproc, PassiveTeX, FOP, and dblatex rather than a replacement for them.

### How it is used

Users run xmlto with an input format and output format, and the script selects stylesheets, calls the XSLT processor, and performs post-processing. The README lists docbook, xhtml1, and fo inputs and outputs including html, xhtml, man, pdf, ps, txt, epub-related formats, and several legacy formatter targets.

xmlif filters XML according to conditional markup, which is useful when one XML source needs to generate different documentation variants depending on build conditions.

### Why package nerds care

xmlto is package-build connective tissue. It sits between source documentation and generated install artifacts, turning the old DocBook toolchain into one command that distro build scripts can depend on and patch around.

### Timeline

- 2001-11-23: xmlto 0.0.0 stable appeared as the initial release.
- 2002-10-16: xmlto 0.0.11 included xmlif and stopped shipping the db2man stylesheet because it came from docbook-xsl.
- 2007-11-19: xmlto 0.0.19 began the Ondrej Vasik maintenance era noted in the README.
- 2008-2009: Releases added FOP, dblatex, xhtml1 source support, automated tool-path detection, and portability fixes.
- 2011: xmlto added basic experimental DocBook-to-epub support.
- 2024-04-10: ChangeLog entries for 0.0.29 updated repository formatting, Fedora spec handling, and Cygwin/MSYS path behavior.

### Related projects

- Related projects and technologies include DocBook XML, docbook-xsl, xsltproc, libxslt, xmllint, PassiveTeX, Apache FOP, dblatex, xmlif, groff man pages, HTML/XHTML, XSL-FO, and epub tooling.

### Sources

- <https://packages.debian.org/sid/xmlto>
- <https://pagure.io/xmlto/raw/master/f/ChangeLog>
- <https://pagure.io/xmlto/raw/master/f/NEWS.md>
- <https://pagure.io/xmlto/raw/master/f/README.md>


## 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:** xmlto
- **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 - xmlto - 0.0.28-3.1: normalized package name match | Debian stable package indexes: xmlto from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | XML-to-any converter | https://pagure.io/xmlto/
- Nix - xmlto: normalized package name match | nixpkgs package indexes: pkgs/by-name/xm/xmlto/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - xmlto - 0.0.28-2.1: normalized package name match | Ubuntu 24.04 LTS package indexes: xmlto from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | XML-to-any converter | https://fedorahosted.org/xmlto/
- apk - xmlto - 0.0.29-r0: normalized package name match | Alpine Linux edge package indexes: xmlto from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Convert xml to many other formats | https://pagure.io/xmlto/
- apk - xmlto-doc - 0.0.29-r0: normalized package name match | Alpine Linux edge package indexes: xmlto-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Convert xml to many other formats (documentation) | https://pagure.io/xmlto/
- dnf - xmlto - 0.0.29-5.fc45: normalized package name match | Fedora Rawhide package metadata: xmlto from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A tool for converting XML files to various formats | https://pagure.io/xmlto/
- dnf - xmlto-tex - 0.0.29-5.fc45: normalized package name match | Fedora Rawhide package metadata: xmlto-tex from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A set of xmlto backends with TeX requirements | https://pagure.io/xmlto/
- dnf - xmlto-xhtml - 0.0.29-5.fc45: normalized package name match | Fedora Rawhide package metadata: xmlto-xhtml from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A set of xmlto backends for xhtml1 source format | https://pagure.io/xmlto/
- pacman - xmlto - 0.0.29-1: normalized package name match | Arch Linux sync databases: xmlto from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Convert xml to many other formats | https://pagure.io/xmlto/
- zypper - xmlto - 0.0.29-1.3: normalized package name match | openSUSE Tumbleweed package metadata: xmlto from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Tool for Converting XML Files to Various Formats | https://pagure.io/xmlto/
- MacPorts - xmlto: normalized package name match | MacPorts ports tree: textproc/xmlto/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.
- [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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [docbook](https://www.automicvault.com/pkg/brew/docbook/) - Runtime dependency declared by Homebrew.
- [docbook-xsl](https://www.automicvault.com/pkg/brew/docbook-xsl/) - Runtime dependency declared by Homebrew.
- [gnu-getopt](https://www.automicvault.com/pkg/brew/gnu-getopt/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [libpagemaker](https://www.automicvault.com/pkg/brew/libpagemaker/) - Shares av.db curated category or tags: cli, developer-tools, document-conversion.
- [pandoc](https://www.automicvault.com/pkg/brew/pandoc/) - Shares av.db curated category or tags: cli, developer-tools, document-conversion.
- [texmath](https://www.automicvault.com/pkg/brew/texmath/) - Shares av.db curated category or tags: cli, developer-tools, document-conversion.
- [docbook2x](https://www.automicvault.com/pkg/brew/docbook2x/) - Shares av.db curated category or tags: cli, developer-tools, docbook, xml.
- [latexml](https://www.automicvault.com/pkg/brew/latexml/) - Shares av.db curated category or tags: cli, developer-tools, document-conversion, xml.
- [pdftoipe](https://www.automicvault.com/pkg/brew/pdftoipe/) - Shares av.db curated category or tags: cli, developer-tools, document-conversion, xml.
- [calabash](https://www.automicvault.com/pkg/brew/calabash/) - Shares av.db curated category or tags: cli, developer-tools, xml.
- [newt](https://www.automicvault.com/pkg/brew/newt/) - Local package facts share a topical domain. Shared terms: based, cli, developer, developer-tools.

## Combined YAML source

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