Convert FB2 to RST

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

FB2 vs reStructuredText Format Comparison

Aspect FB2 (Source Format) RST (Target Format)
Format Overview
FB2
FictionBook 2.0

XML-based ebook format developed in Russia. Designed specifically for fiction and literature with rich metadata support. Extremely popular in Eastern Europe and CIS countries. Stores complete book structure including chapters, annotations, and cover images in a single XML file.

Ebook Format XML-Based
RST
reStructuredText

Lightweight markup language created for Python documentation. Human-readable plain text that can be converted to HTML, PDF, LaTeX, and other formats via Sphinx. Official documentation format for Python and widely used in the Python ecosystem. Supports complex document structures with directives.

Documentation Plain Text
Technical Specifications
Structure: XML document
Encoding: UTF-8
Format: Text-based XML
Compression: Optional (ZIP as .fb2.zip)
Extensions: .fb2, .fb2.zip
Structure: Plain text with markup
Encoding: UTF-8
Format: Human-readable text
Compression: None
Extensions: .rst, .rest, .restx, .rtxt
Syntax Examples

FB2 uses XML structure:

<FictionBook>
  <description>
    <title-info>
      <book-title>My Book</book-title>
      <author>John Doe</author>
    </title-info>
  </description>
  <body>
    <section>
      <title>Chapter 1</title>
      <p>Text content...</p>
    </section>
  </body>
</FictionBook>

reStructuredText uses plain text markup:

===========
My Book
===========

:Author: John Doe
:Date: 2024

Chapter 1
=========

Text content with **bold**
and *italic* formatting.

* List item 1
* List item 2

.. code-block:: python

   # code block
   print("Hello")
Content Support
  • Rich book metadata (author, title, genre)
  • Cover images (embedded Base64)
  • Chapters and sections
  • Annotations and epigraphs
  • Footnotes and comments
  • Poems and citations
  • Tables (basic)
  • Internal links
  • Multiple bodies (main + notes)
  • Document metadata (field lists)
  • Headings and sections (multiple levels)
  • Text formatting (bold, italic, literal)
  • Lists (ordered, unordered, nested)
  • Tables (grid and simple)
  • Code blocks with syntax highlighting
  • Directives (note, warning, tip, etc.)
  • Cross-references and hyperlinks
  • Include directives
  • Images and figures
Advantages
  • Excellent for fiction/literature
  • Rich metadata support
  • Single file contains everything
  • Widely supported by ebook readers
  • Free and open format
  • Good compression ratio (.fb2.zip)
  • Official Python documentation format
  • Version control friendly
  • Converts to multiple formats via Sphinx
  • Extensible with directives
  • Excellent for technical documentation
  • Built-in cross-referencing
  • Active community and tooling
Disadvantages
  • Limited outside Eastern Europe
  • Not supported by Amazon Kindle
  • Complex XML structure
  • Not ideal for technical docs
  • Manual editing is difficult
  • Stricter syntax than Markdown
  • Not an ebook format directly
  • Requires Sphinx for full features
  • Whitespace-sensitive markup
  • Less common than Markdown
Common Uses
  • Fiction and literature ebooks
  • Digital libraries (Flibusta, etc.)
  • Ebook distribution in CIS
  • Personal ebook collections
  • Ebook reader apps
  • Python documentation (official standard)
  • API documentation with Sphinx
  • Technical manuals and guides
  • README files (readthedocs.org)
  • Software project documentation
  • Academic papers and books
Best For
  • Reading fiction on devices
  • Ebook library management
  • Sharing books in CIS region
  • Structured fiction content
  • Python project documentation
  • Technical writing with Sphinx
  • Multi-format publishing
  • Software documentation sites
Version History
Introduced: 2004 (Russia)
Current Version: FB2.1
Status: Stable, widely used
Evolution: FB3 in development
Introduced: 2002 (David Goodger)
Current Version: Docutils 0.x
Status: Active development
Evolution: Continuous improvements via Sphinx
Software Support
Calibre: Full support
FBReader: Native format
Cool Reader: Full support
Other: Moon+ Reader, AlReader
Sphinx: Full support (primary tool)
Docutils: Reference implementation
VS Code: Extension available
Other: PyCharm, GitHub rendering

Why Convert FB2 to reStructuredText?

Converting FB2 ebooks to reStructuredText format is useful when you want to repurpose fiction content for technical documentation, extract text for Python projects, or prepare content for Sphinx-based documentation sites. RST's plain text format makes it easy to edit, version control, and convert to various output formats including HTML, PDF, LaTeX, and EPUB.

FB2 (FictionBook 2) is an XML-based ebook format extremely popular in Russia and Eastern Europe. It excels at storing fiction with rich metadata including author information, cover images, annotations, and structured chapters. However, FB2's XML structure makes manual editing cumbersome, and the format is primarily designed for reading rather than content creation or modification.

reStructuredText (RST) is the official documentation format for Python and the foundation of Sphinx, the most popular Python documentation generator. By converting FB2 to RST, you gain the ability to edit content in any text editor, integrate with Python documentation workflows, track changes with Git, and generate multiple output formats from a single source using Sphinx or Docutils.

Key Benefits of Converting FB2 to reStructuredText:

  • Editable Source: Plain text format easy to modify in any editor
  • Python Ecosystem: Native format for Python documentation
  • Sphinx Integration: Build documentation sites with themes and extensions
  • Multi-Format Output: Convert to HTML, PDF, LaTeX, EPUB via Sphinx
  • Version Control: Works perfectly with Git and other VCS
  • Directives: Extensible markup with custom directives
  • Cross-References: Powerful linking and referencing system

Practical Examples

Example 1: Book Chapter Conversion

Input FB2 file (book.fb2):

<section>
  <title>Chapter 1: The Beginning</title>
  <p>It was a dark and stormy night.</p>
  <p>The wind howled through the trees.</p>
  <emphasis>Important text</emphasis>
</section>

Output reStructuredText file (book.rst):

Chapter 1: The Beginning
========================

It was a dark and stormy night.

The wind howled through the trees.

*Important text*

Example 2: Metadata Preservation

Input FB2 metadata:

<title-info>
  <book-title>The Great Adventure</book-title>
  <author>
    <first-name>John</first-name>
    <last-name>Smith</last-name>
  </author>
  <date>2024</date>
</title-info>

Output reStructuredText header:

====================
The Great Adventure
====================

:Author: John Smith
:Date: 2024
:Version: 1.0

Example 3: Structured Content

Input FB2 with annotations:

<annotation>
  <p>This book tells the story of...</p>
</annotation>
<epigraph>
  <p>"To be or not to be"</p>
  <text-author>Shakespeare</text-author>
</epigraph>

Output reStructuredText:

.. note::

   This book tells the story of...

.. epigraph::

   "To be or not to be"

   -- Shakespeare

Frequently Asked Questions (FAQ)

Q: What is FB2 format?

A: FB2 (FictionBook 2) is an XML-based ebook format created in Russia in 2004. It's designed for storing fiction with rich metadata including author info, genres, cover images, and structured content. FB2 is extremely popular in Eastern Europe and CIS countries, supported by readers like FBReader, Cool Reader, and Calibre.

Q: What is reStructuredText?

A: reStructuredText (RST) is a lightweight markup language created in 2002 by David Goodger. It's the official documentation format for Python and widely used with Sphinx for generating documentation websites. RST uses plain text with simple formatting rules that can be converted to HTML, PDF, LaTeX, and other formats.

Q: Will chapter structure be preserved?

A: Yes! FB2's section and title elements are converted to RST headings with appropriate underlines (= for top level, - for second level, etc.). The hierarchical structure of your book is maintained, making the output easy to navigate and edit.

Q: What happens to images in FB2?

A: FB2 stores images as Base64-encoded data within the XML. During conversion, images are extracted and saved as separate files, with RST image directives (.. image:: filename) pointing to them. This allows you to manage images separately from the text.

Q: Can I convert RST back to FB2?

A: Yes, but indirectly. You can use Sphinx to convert RST to EPUB or LaTeX, then use Calibre to convert to FB2. However, some FB2-specific metadata may need to be added manually. The conversion chain would be: RST -> EPUB -> FB2.

Q: What tools can I use to edit reStructuredText?

A: RST can be edited in any text editor. Popular choices include VS Code (with RST extension), PyCharm (built-in support), Sublime Text, Atom, or simple editors like Notepad++. Sphinx provides live preview and build commands for documentation projects.

Q: How do I convert RST to other formats?

A: Use Sphinx for full-featured conversions: `sphinx-build -b html source build` (HTML), `sphinx-build -b latex source build` (LaTeX/PDF). For simpler conversions, use Docutils: `rst2html.py file.rst output.html` or `rst2latex.py file.rst output.tex`.

Q: Is formatting preserved during conversion?

A: Yes! Bold, italic, and other text formatting from FB2 is converted to RST equivalents (**bold**, *italic*, ``literal``). Paragraphs, lists, and basic tables are also preserved. Some complex FB2 elements may be converted to RST directives or simplified.