# Install xml2rfc with Homebrew, apk, apt, MacPorts, Nix

Tool to convert XML RFC7749 to the original ASCII or the new HTML look-and-feel. Version 3.34.0 via Homebrew; verified 2026-06-05.

## Install

```sh
sudo av install brew:xml2rfc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xml2rfc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xml2rfc
```

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

### Linux

- apk (92%):

```sh
sudo apk add xml2rfc
```

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

- Debian apt (92%):

```sh
sudo apt install xml2rfc
```

  Evidence: Debian stable package indexes: xml2rfc from https://deb.debian.org/debian/dists/stable/non-free/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#xml2rfc
```

  Evidence: nixpkgs package indexes: xml2rfc from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

## Package facts

- **Package key:** brew:xml2rfc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xml2rfc>
- **Version:** 3.34.0
- **Source summary:** Tool to convert XML RFC7749 to the original ASCII or the new HTML look-and-feel
- **Homepage:** <https://xml2rfc.tools.ietf.org/>
- **Repository:** <https://github.com/ietf-tools/xml2rfc>
- **Upstream docs:** <https://authors.ietf.org/rfcxml-overview>
- **License:** BSD-3-Clause
- **Source archive:** <https://files.pythonhosted.org/packages/aa/c2/3f2420a11cac97c5e3ee3e04cc752f9018cf7ef97490e925498397a98aa1/xml2rfc-3.34.0.tar.gz>
- **Last updated:** 2026-06-05T04:25:26Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- xml2rfc (cli)
- xml2rfc (alias)

## Dependencies

- certifi
- libyaml
- python@3.14

## Uses from macOS

- libxml2
- libxslt

## 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: 3.34.0
- Package-manager updated: 2026-06-05
- Local data: ok
- Upstream repository: https://xml2rfc.tools.ietf.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

xml2rfc is the IETF tool that turns RFCXML source into Internet-Draft and RFC renderings. It began as part of the RFC 2629 XML authoring workflow and is now central to the modern RFCXML toolchain for validating, preparing, and rendering IETF documents.

### Project history

The roots are in RFC 2629, published in June 1999 by Marshall Rose, which presented XML as a source format for Internet-Drafts and RFCs and described the author's xml2rfc tool for producing text and HTML output. Early documentation also described an xml.resource.org web service and downloadable tool.

The vocabulary evolved from RFC 2629 v1 into v2, documented by RFC 7749 in February 2016 as the state of the vocabulary used by several tools and the RFC Editor around 2014. In December 2016, RFC 7991 documented the v3 vocabulary, though current author guidance says the live vocabulary reference on authors.ietf.org is authoritative because the schema changed after RFC 7991.

The modern repository under the ietf-tools GitHub organization was created on 2022-02-05. Its README describes xml2rfc as generating RFCs and IETF drafts from XML source according to the v2 and v3 vocabularies, with output formats, v2-to-v3 conversion, and preptool support.

The tool has become both a Python package and a containerized command-line utility. The README documents pip, pipx, PDF extras, WeasyPrint support, fonts for PDF generation, and GitHub Container Registry images such as xml2rfc-slim, xml2rfc-base, and xml2rfc-dev.

### Adoption history

xml2rfc's adoption is tied to IETF process rather than ordinary application popularity. Author guidance says RFCXML is the preferred format for Internet-Drafts and the canonical format for published RFCs since RFC 8650 in November 2019, making xml2rfc part of the document supply chain for standards work.

The IETF author resources describe xml2rfc as the core tool for validating and transforming RFCXML files, and the main tool used behind the scenes in the Author Tools web service. The Datatracker submission guidance says Internet-Draft submission validates documents using xml2rfc, id2xml, and idnits as appropriate.

The wider authoring ecosystem often feeds xml2rfc rather than replacing it. The IETF tools catalog lists Markdown, AsciiDoc, LyX, nroff, and other converters that generate RFCXML and then rely on xml2rfc for rendering, validation, or publication-ready output.

### How it is used

Typical direct use is `xml2rfc SOURCE [options] FORMATS...`, producing plaintext, HTML, PDF, EPUB, nroff for v2 input, or expanded/prepared XML depending on options. It can also convert legacy v2 XML to v3 and run the preptool step defined for the publication pipeline.

In author workflows, xml2rfc may be run locally from pip or pipx, inside CI through containers, or indirectly through the IETF Author Tools web service and Datatracker validation. Its inputs are RFCXML documents governed by the v2 or v3 vocabularies.

### Why package nerds care

xml2rfc is package-nerd important because it is a CLI package that encodes institutional publishing rules. Installing it is not merely installing a converter; it gives authors a local copy of the formatter and validator that shadows IETF/RFC Editor production expectations.

It also shows how packaging supports standards work: Python wheels, native PDF support libraries, fonts, containers, generated schema docs, and web-service deployments all exist so the same document source can pass through personal laptops, CI, Datatracker, and RFC publication tooling.

### Timeline

- 1999-06: RFC 2629 published, documenting XML as a source format and describing the original xml2rfc tool.
- 2009-07-26: RFC Editor tutorial materials introduced xml2rfc as a tool for converting XML source into text, HTML, nroff, unpaginated text, or expanded XML.
- 2016-02: RFC 7749 documented the xml2rfc version 2 vocabulary.
- 2016-12: RFC 7991 documented the xml2rfc version 3 vocabulary.
- 2019-11: RFCXML became the canonical format for published RFCs according to IETF author guidance.
- 2022-02-05: ietf-tools/xml2rfc GitHub repository created.
- 2026-06-03: xml2rfc v3.34.0 released.

### Related projects

- Related tools and formats include RFCXML, RFC 2629, RFC 7749, RFC 7991, RFC 7998 preptool, IETF Author Tools, Datatracker submission validation, id2xml, idnits, rfclint, kramdown-rfc, mmark, metanorma-ietf, lyx2rfc, rfcxml.xslt, WeasyPrint, and xml2rfc-fonts.

### Sources

- <https://api.github.com/repos/ietf-tools/xml2rfc>
- <https://api.github.com/repos/ietf-tools/xml2rfc/releases?per_page=12>
- <https://authors.ietf.org/document-validation>
- <https://authors.ietf.org/rendering-and-converting>
- <https://authors.ietf.org/rfcxml-overview>
- <https://authors.ietf.org/submitting-your-internet-draft>
- <https://authors.ietf.org/tools-catalog>
- <https://github.com/ietf-tools/xml2rfc>
- <https://raw.githubusercontent.com/ietf-tools/xml2rfc/main/README.md>
- <https://www.rfc-editor.org/info/rfc2629>
- <https://www.rfc-editor.org/materials/xml2rfcFAQ.html>
- <https://www.rfc-editor.org/rfc-editor/intro_xml2rfc.pdf>
- <https://www.rfc-editor.org/rfc/rfc7749.html>
- <https://www.rfc-editor.org/rfc/rfc7991>


## Security Notes

No matching local secret-handling manifest was found for xml2rfc. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xml2rfc
- **Version Scheme:** 0
- **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 - xml2rfc - 3.23.0-1: normalized package name match | Debian stable package indexes: xml2rfc from https://deb.debian.org/debian/dists/stable/non-free/binary-amd64/Packages.xz | XML-based formatting tool for RFCs | https://xml2rfc.tools.ietf.org/
- Nix - xml2rfc: normalized package name match | nixpkgs package indexes: xml2rfc from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - xml2rfc - 3.20.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: xml2rfc from https://archive.ubuntu.com/ubuntu/dists/noble/multiverse/binary-amd64/Packages.gz | XML-based formatting tool for RFCs | https://xml2rfc.tools.ietf.org/
- apk - xml2rfc - 3.28.1-r4: normalized package name match | Alpine Linux edge package indexes: xml2rfc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | tool for converting XML documents into internet drafts and RFCs | https://github.com/ietf-tools/xml2rfc
- apk - xml2rfc-pyc - 3.28.1-r4: normalized package name match | Alpine Linux edge package indexes: xml2rfc-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for xml2rfc | https://github.com/ietf-tools/xml2rfc
- MacPorts - xml2rfc: normalized package name match | MacPorts ports tree: textproc/xml2rfc/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.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [xmltoman](https://www.automicvault.com/pkg/brew/xmltoman/) - Shares av.db curated category or tags: cli, converter, developer-tools, documentation, xml.
- [dita-ot](https://www.automicvault.com/pkg/brew/dita-ot/) - Shares av.db curated category or tags: cli, developer-tools, documentation, xml.
- [docbook-xsl](https://www.automicvault.com/pkg/brew/docbook-xsl/) - Shares av.db curated category or tags: cli, developer-tools, documentation, xml.
- [docbook2x](https://www.automicvault.com/pkg/brew/docbook2x/) - Shares av.db curated category or tags: cli, converter, developer-tools, documentation, xml.
- [docutils](https://www.automicvault.com/pkg/brew/docutils/) - Shares av.db curated category or tags: cli, developer-tools, documentation, python.
- [go-md2man](https://www.automicvault.com/pkg/brew/go-md2man/) - Shares av.db curated category or tags: cli, converter, developer-tools, documentation.
- [mmark](https://www.automicvault.com/pkg/brew/mmark/) - Shares av.db curated category or tags: cli, developer-tools, documentation, ietf, rfc.
- [rst-lint](https://www.automicvault.com/pkg/brew/rst-lint/) - Shares av.db curated category or tags: cli, developer-tools, documentation, python.
- [adr-viewer](https://www.automicvault.com/pkg/brew/adr-viewer/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, documentation, html.
- [grip](https://www.automicvault.com/pkg/brew/grip/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, developer, developer-tools, documentation.
- [literate-git](https://www.automicvault.com/pkg/brew/literate-git/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, documentation, html.

## Combined YAML source

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