Automic VaultAutomic Vault

brew

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

Additional install commands

macOS

Homebrewverified · 100%
brew install xml2rfc

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install xml2rfc

MacPorts ports tree · textproc/xml2rfc/Portfile · source: api.github.com

overview

Package summary

Tool to convert XML RFC7749 to the original ASCII or the new HTML look-and-feel

Commands and aliases

  • xml2rfc

history

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

security posture

No protected-tool coverage found yet

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.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 3 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
xml2rfccliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version3.34.0
manager updated2026-06-05
local dataok
upstreamnot checked
latest detectednot detected

https://xml2rfc.tools.ietf.org/

install metadata

Package metadata

Package keybrew:xml2rfc
Version3.34.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/xml2rfc
Homepagehttps://xml2rfc.tools.ietf.org/
Repositoryhttps://github.com/ietf-tools/xml2rfc
Upstream docshttps://authors.ietf.org/rfcxml-overview
LicenseBSD-3-Clause
Source archivehttps://files.pythonhosted.org/packages/aa/c2/3f2420a11cac97c5e3ee3e04cc752f9018cf7ef97490e925498397a98aa1/xml2rfc-3.34.0.tar.gz
Last updated2026-06-05T04:25:26Z
Pulseupdated
Dependenciescertifi, libyaml, python@3.14
Uses from macOSlibxml2, libxslt
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namexml2rfc
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

xml2rfc 3.23.0-1

XML-based formatting tool for RFCs

https://xml2rfc.tools.ietf.org/

sudo apt install xml2rfc
  • Section: non-free/text
  • Architecture: all
  • 13 dependencies
  • 6 optional deps
  • normalized package name match
  • Matched by: Xml2rfc
Debian stable package indexes · deb.debian.org · Debian stable package indexes: xml2rfc from https://deb.debian.org/debian/dists/stable/non-free/binary-amd64/Packages.xz
Nix95%

xml2rfc

nix profile install nixpkgs#xml2rfc
  • normalized package name match
  • Matched by: Xml2rfc
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: xml2rfc from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

xml2rfc 3.20.0-1

XML-based formatting tool for RFCs

https://xml2rfc.tools.ietf.org/

sudo apt install xml2rfc
  • Section: multiverse/text
  • Architecture: all
  • 14 dependencies
  • 6 optional deps
  • normalized package name match
  • Matched by: Xml2rfc
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: xml2rfc from https://archive.ubuntu.com/ubuntu/dists/noble/multiverse/binary-amd64/Packages.gz
apk95%

xml2rfc 3.28.1-r4

tool for converting XML documents into internet drafts and RFCs

https://github.com/ietf-tools/xml2rfc

sudo apk add xml2rfc
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: xml2rfc
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Xml2rfc
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: xml2rfc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

xml2rfc-pyc 3.28.1-r4

Precompiled Python bytecode for xml2rfc

https://github.com/ietf-tools/xml2rfc

sudo apk add xml2rfc-pyc
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: xml2rfc
  • 1 dependencies
  • normalized package name match
  • Matched by: Xml2rfc
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: xml2rfc-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
MacPorts95%

xml2rfc

sudo port install xml2rfc
  • normalized package name match
  • Matched by: Xml2rfc
MacPorts ports tree · api.github.com · MacPorts ports tree: textproc/xml2rfc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment