Skip to main content

Convert text-format RFCs and Internet-Drafts to html

Project description

Htmlizing IETF Text Documents

This module contains one single function, `markup(text)` which adds HTML markup to what is assumed to be an IETF document (usually an Internet-Draft or an RFC):

from rfc2html import markup
with open('rfc3344.txt') as file:
    text =
html = markup(text)

As a historic artifact of being a document series which was started at the time when the easiest way of distributing a ‘Request For Comments’ was to type it up on a typewriter and mimeographing it, RFCs and Internet-Drafts have traditionally been published as plaintext documents with a maximum line length of 72 characters.

This format isn’t particularly appropriate in a web-centric world, howerver, so starting in 2002, Henrik Levkowetz started using scripts to convert the plaintext documents into HTML documents with the same look-and-feel as the plaintext originals, but with internal and external HTML links in order to facilitate browsing.

Since 2004, the resulting documents have been made available on

This module is a packaging of the htmlization code from version 1.113 of the htmlizing script. Earlier version of the script are available at


Version 2.0.1 (25 Jun 2019)

  • Changed tabs to spaces for python 3.
  • Now importing escape() from html instead of cgi if possible.
  • Added a name= keyword argument to markup(), in order to be able to do special handling dependent on the draft or RFC name.
  • Added special case handling for draft-ietf-dnsop-interim-signed-root-01.
  • Corrected the copyright in; fixed some pyflakes issues, and added sys reload with defaultencoding UTF-8 under py27.
  • Added a tox.ini file for test runs across py27 and 3.4-3.6, and a trivial placeholder.
  • Added control character stripping.
  • Added code to identify not only the start but also the end of reference section(s).

Version 1.121 (13 Jul 2016)

  • Added handling for ‘Section x of RFC y’, with an intervening line break after ‘Section’, and similar cases.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for rfc2html, version 2.0.1
Filename, size File type Python version Upload date Hashes
Filename, size rfc2html-2.0.1.tar.gz (21.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page