Convert EPUB3 to RST

Drag and drop files here or click to select.
Max file size 100mb.
Uploading progress:

EPUB3 vs RST Format Comparison

Aspect EPUB3 (Source Format) RST (Target Format)
Format Overview
EPUB3
Electronic Publication 3.0

EPUB3 is the modern e-book standard maintained by the W3C, supporting HTML5, CSS3, JavaScript, MathML, and SVG. It enables rich, interactive digital publications with multimedia content, accessibility features, and responsive layouts for diverse reading devices.

Modern E-book HTML5-Based
RST
reStructuredText Markup

reStructuredText (RST) is an easy-to-read plaintext markup language used extensively in Python documentation. It is the default markup for Sphinx, the documentation generator that powers Python's official docs, Read the Docs, and thousands of software projects worldwide.

Python Docs Sphinx Standard
Technical Specifications
Structure: ZIP container with XHTML/HTML5 content
Encoding: UTF-8, supports multimedia embedding
Format: Package of HTML5, CSS3, images, audio, video
Standard: W3C EPUB 3.3 specification
Extensions: .epub
Structure: Plain text with underline-based headings
Encoding: UTF-8 plain text
Format: Indentation-sensitive markup
Processing: Docutils, Sphinx
Extensions: .rst, .rest
Syntax Examples

EPUB3 contains XHTML content:

<body>
  <h1>API Reference</h1>
  <p>The <strong>main</strong> module
  provides <em>core</em> functions.</p>
  <ul>
    <li>init() - Initialize</li>
    <li>run() - Execute</li>
  </ul>
</body>

RST uses underline-based headings:

API Reference
=============

The **main** module
provides *core* functions.

* init() - Initialize
* run() - Execute
Content Support
  • HTML5 rich text and semantic markup
  • CSS3 styling and responsive layouts
  • Embedded audio and video
  • MathML mathematical notation
  • SVG vector graphics
  • JavaScript interactivity
  • Table of contents navigation
  • Accessibility metadata (WCAG)
  • Headings with underline/overline
  • Directives (images, code, math, etc.)
  • Roles for inline markup
  • Cross-references and citations
  • Tables (grid and simple formats)
  • Code blocks with syntax highlighting
  • Footnotes and bibliographies
  • Table of contents directive
Advantages
  • Rich multimedia e-book experience
  • Reflowable and fixed-layout support
  • Strong accessibility features
  • W3C international standard
  • Wide e-reader compatibility
  • Interactive content capabilities
  • Standard for Python documentation
  • Powerful directive and role system
  • Native Sphinx integration
  • Multi-format output (HTML, PDF, EPUB)
  • Auto-generated API documentation
  • Version control friendly
Disadvantages
  • Complex internal structure (ZIP-based)
  • Not directly editable as plain text
  • DRM can restrict access
  • Rendering varies across readers
  • Large file sizes with multimedia
  • More complex syntax than Markdown
  • Indentation-sensitive formatting
  • Less popular outside Python community
  • Steep learning curve for directives
  • Limited native rendering on platforms
Common Uses
  • Digital books and textbooks
  • Interactive educational content
  • Accessible digital publications
  • Magazine and comic layouts
  • Technical documentation distribution
  • Python library documentation
  • Sphinx-based documentation sites
  • Read the Docs projects
  • Technical specifications
  • Software user manuals
Best For
  • Publishing rich digital books
  • Interactive learning materials
  • Accessible content distribution
  • Cross-platform e-book reading
  • Python and Sphinx documentation
  • Technical reference manuals
  • Auto-documented API references
  • Multi-format publishing with Sphinx
Version History
EPUB 1.0: 1999 (Open eBook)
EPUB 2.0: 2007 (IDPF standard)
EPUB 3.0: 2011 (HTML5-based)
EPUB 3.3: 2023 (W3C Recommendation)
Introduced: 2001 (David Goodger)
Docutils: 2002 (reference implementation)
Sphinx: 2008 (documentation generator)
Status: Stable, actively maintained
Software Support
Readers: Apple Books, Kobo, Calibre, Thorium
Editors: Sigil, Calibre, JEPA Editor
Libraries: epublib, EbookLib, Readium
Converters: Calibre, Pandoc, Adobe InDesign
Editors: VS Code, PyCharm, any text editor
Processors: Sphinx, Docutils, rst2pdf
Platforms: Read the Docs, GitHub (partial)
Converters: Pandoc, Sphinx builders

Why Convert EPUB3 to RST?

Converting EPUB3 e-books to reStructuredText (RST) is ideal when you want to integrate publication content into Sphinx-based documentation projects. RST is the standard markup for Python documentation and thousands of software projects hosted on Read the Docs, making it essential for technical documentation workflows.

Sphinx's powerful build system can take RST content and produce multiple output formats including HTML themes, PDF via LaTeX, EPUB, and man pages. By converting EPUB3 to RST, you gain access to this entire ecosystem, enabling professional documentation publishing with search, indexing, and cross-referencing.

RST's directive system provides features beyond simple markup, including admonitions (notes, warnings, tips), code blocks with syntax highlighting, mathematical notation, table of contents generation, and autodoc integration for API documentation. Converting book content to RST unlocks all these capabilities.

The conversion maps EPUB3 HTML elements to RST equivalents: headings become underlined text, bold and italic use double and single asterisks, lists use asterisks or numbers, and code blocks become indented literal blocks or code directives with language specification for syntax highlighting.

Key Benefits of Converting EPUB3 to RST:

  • Sphinx Integration: Full compatibility with the Sphinx documentation system
  • Read the Docs: Publish directly to Read the Docs hosting platform
  • Multi-Format Output: Generate HTML, PDF, EPUB, and more from single source
  • Cross-References: Powerful referencing system for documentation
  • Code Documentation: Integrate with autodoc for API references
  • Search Integration: Built-in search for Sphinx HTML output
  • Version Control: Plain text format ideal for Git workflows

Practical Examples

Example 1: Chapter with Formatted Text

Input EPUB3 file (book.epub) — chapter XHTML:

<body>
  <h1>Getting Started</h1>
  <p>This guide explains <strong>installation</strong>
  and <em>configuration</em> steps.</p>
  <h2>Prerequisites</h2>
  <ul>
    <li>Python 3.10 or later</li>
    <li>pip package manager</li>
    <li>Git version control</li>
  </ul>
</body>

Output RST file (getting-started.rst):

Getting Started
===============

This guide explains **installation**
and *configuration* steps.

Prerequisites
-------------

* Python 3.10 or later
* pip package manager
* Git version control

Example 2: Code Blocks and Links

Input EPUB3 file (tutorial.epub) — content XHTML:

<h2>Installation</h2>
<p>Visit <a href="https://pypi.org">PyPI</a>
for the package. Install with:</p>
<pre><code class="language-bash">
pip install mypackage
</code></pre>
<p><strong>Note:</strong> Use a virtual
environment for isolation.</p>

Output RST file (installation.rst):

Installation
------------

Visit `PyPI <https://pypi.org>`_
for the package. Install with:

.. code-block:: bash

   pip install mypackage

.. note::

   Use a virtual environment for isolation.

Example 3: Table and Image

Input EPUB3 file (reference.epub) — content XHTML:

<figure>
  <img src="diagram.png" alt="Architecture"/>
  <figcaption>Figure 1: System Architecture</figcaption>
</figure>
<table>
  <thead>
    <tr><th>Component</th><th>Status</th></tr>
  </thead>
  <tbody>
    <tr><td>API Server</td><td>Stable</td></tr>
    <tr><td>Database</td><td>Beta</td></tr>
  </tbody>
</table>

Output RST file (reference.rst):

.. figure:: diagram.png
   :alt: Architecture

   Figure 1: System Architecture

============  ========
Component     Status
============  ========
API Server    Stable
Database      Beta
============  ========

Frequently Asked Questions (FAQ)

Q: What is EPUB3 format?

A: EPUB3 (Electronic Publication 3.0) is the latest major version of the EPUB e-book standard, now maintained by the W3C. It uses HTML5, CSS3, and supports JavaScript, MathML, SVG, audio, and video, enabling rich, interactive digital publications with comprehensive accessibility features.

Q: Can I use the RST output with Sphinx?

A: Yes, the converter produces standard RST that is fully compatible with Sphinx. You can add the converted files to a Sphinx project, include them in your toctree, and build HTML, PDF, or EPUB documentation immediately using sphinx-build.

Q: How does RST compare to Markdown for documentation?

A: RST is more powerful than Markdown for documentation with features like directives, roles, cross-references, and Sphinx integration. Markdown is simpler but lacks RST's extensibility. For Sphinx-based projects, RST is the native and recommended format.

Q: Will the RST render on GitHub?

A: GitHub provides basic RST rendering for .rst files in repositories. However, Sphinx-specific directives and roles may not render correctly on GitHub since it uses a simpler RST parser. For full rendering, use Sphinx or Read the Docs.

Q: How are EPUB3 images handled in RST?

A: Images are converted to RST image or figure directives with alt text, captions, and sizing options. The image files need to be extracted from the EPUB3 and placed alongside the RST file. Sphinx handles image paths relative to the source directory.

Q: Can I publish the RST on Read the Docs?

A: Yes, the converted RST files can be published on Read the Docs by setting up a Sphinx project with a conf.py file. Read the Docs automatically builds and hosts the documentation, providing versioning, search, and PDF downloads for free.

Q: How does the converter handle EPUB3 code blocks?

A: Code blocks are converted to RST code-block directives with the appropriate language tag for syntax highlighting (e.g., .. code-block:: python). This integrates with Sphinx's Pygments-based syntax highlighting for beautiful code rendering in the output.

Q: Are EPUB3 footnotes preserved in RST?

A: Yes, footnotes from EPUB3 are converted to RST's footnote syntax using autonumbered footnotes ([#]_) or named footnotes. They render as proper footnotes in Sphinx HTML and PDF output with automatic numbering and back-links.