reStructuredText, often abbreviated reST, is a plaintext markup syntax and parser system developed as part of the Docutils project. The Docutils overview describes it as “an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax and parser system,” aimed at “use in Python docstrings and other documentation domains, that is readable and simple, yet powerful enough for non-trivial use.” It targets in-line program documentation, quick web pages, and standalone documents alike.
Unlike Markdown, which began as a single Perl script with informal rules, reStructuredText was specified together with a full reference parser. The Docutils documentation states that “the reStructuredText parser is a component of Docutils,” and the system is designed to convert reStructuredText documents into other structured formats such as HTML, LaTeX, and XML. This pairing of a careful specification with a canonical implementation gave reST a more rigorous footing than many of its lightweight contemporaries.
reST did not appear from nothing. The Docutils page notes that “reStructuredText is a revision and reinterpretation of the StructuredText and Setext lightweight markup systems,” earlier attempts at human-readable text markup. Where those systems had gaps or ambiguities, reST aimed for a more complete and predictable feature set, including directives and roles that let the syntax be extended for tables, admonitions, cross-references, and embedded raw content.
The format was endorsed early on inside the Python community. A 2002 testimonial on the Docutils page from Guido van Rossum, Python’s creator, judged reST “probably as good as it gets given the requirements (a fairly elaborate feature set, yet more readable ‘in the raw’ than HTML).” That readability-versus-power balance is the central tension reST tries to manage, and it is why the syntax favors visual cues such as underlined headings and indentation over angle brackets.
reStructuredText became the backbone of Python’s own documentation toolchain. It is the input language for Sphinx, the documentation generator created for the Python project and later adopted across the wider open-source world, where reST source files are compiled into searchable, cross-referenced HTML and PDF manuals. Through Sphinx and Docutils, reStructuredText remains a foundational markup for technical and software documentation written as code.