RST vs XHTML
A detailed comparison of reStructuredText and XHTML Document — file size, quality, compatibility, and which format to choose for your workflow.
reStructuredText
Documents & TextRST (reStructuredText) is a lightweight markup language used in Python documentation.
About RST filesXHTML Document
Documents & TextXHTML is XML-compliant HTML for strict document processing.
About XHTML filesStrengths Comparison
RST Strengths
- Rich directives for admonitions, code, math, and custom elements.
- Cross-references work within and across documents.
- Sphinx ecosystem offers best-in-class Python docs output.
- Standardized as part of Python PEP infrastructure.
- Plain text, version-controllable.
XHTML Strengths
- Rigorous XML syntax — can be parsed with any XML tool.
- Native EPUB and DocBook support.
- Enforces clean markup — no sloppy error recovery.
- Namespaces allow mixing SVG, MathML, and XHTML in one document.
Limitations
RST Limitations
- Syntax denser than Markdown — higher learning curve.
- Less widely adopted than Markdown outside Python world.
- Multiple directive dialects (Sphinx, Docutils, custom) create fragmentation.
- MyST (Markdown + Sphinx) has pulled many Python projects toward Markdown.
XHTML Limitations
- Browsers reject XHTML with strict MIME on any markup error — harsh failure mode.
- Authoring is more tedious than HTML5.
- Not served by ~99% of the web.
- Largely superseded by HTML5.
Technical Specifications
| Specification | RST | XHTML |
|---|---|---|
| MIME type | text/x-rst | — |
| Extension | .rst | — |
| Toolchain | Docutils, Sphinx, Read the Docs | — |
| Encoding | UTF-8 | UTF-8 (required with XML prolog) |
| Related formats | MyST (Markdown + RST directives) | — |
| MIME types | — | application/xhtml+xml, text/html |
| Extensions | — | .xhtml, .xht, .xml |
| Standards | — | XHTML 1.0 (2000), XHTML 1.1 (2001) |
| Used in | — | EPUB, DocBook, some government sites |
Typical File Sizes
RST
- API reference page 5-50 KB
- Sphinx project chapter 20-100 KB
- Full library documentation 500 KB - 10 MB
XHTML
- EPUB chapter 5-50 KB
- DocBook reference page 10-100 KB
Ready to convert?
Convert between RST and XHTML online, free, and without installing anything. Encrypted upload, automatic deletion after 60 minutes.
Frequently Asked Questions
RST (reStructuredText) is a document format used to store paginated text, with optional formatting, tables, images, hyperlinks, headers and footers. It sits in the documents & text family and is typically associated with a specific office suite or publishing pipeline that defined the format and ships the canonical reader.
RST (reStructuredText) is a document formato used to store paginated text, com optional formatoting, tables, images, hyperlinks, headers e footers. It sits no documents & text family e is tipicamente associated com a specific office suite ou publishing pipeline that defined the formato e ships the canonical reader.
Modern office suites — Microsoft Word, Google Docs, LibreOffice Writer, Apple Pages — open most RST files with reasonable fidelity. If your installed software does not support RST, convert to DOCX or PDF first using KaijuConverter; both open in virtually every reader, including free online viewers.
Modern office suites — Microsoft Word, Google Docs, LibreOffice Writer, Apple Pages — abrir most RST arquivos com reasonable fidelity. If your installed software does not support RST, converter to DOCX ou PDF first usando KaijuConverter; both abrir in virtually every reader, including grátis online viewers.
Upload the RST to KaijuConverter and pick DOCX, PDF, ODT, RTF, HTML, Markdown, or plain text. Our pipeline runs LibreOffice headlessly plus pandoc for text formats — the same engines behind professional document pipelines. Styles, tables, images, and hyperlinks survive the conversion intact.
Yes, to a high degree. Standard fonts, headings, lists, tables, images, hyperlinks and page structure transfer cleanly. Custom fonts substitute to the closest match if not embedded; obscure layout features unique to RST (frames, legacy macros) may flatten to static content in the target format.