Convert TOML to FB2

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

TOML vs FB2 Format Comparison

Aspect TOML (Source Format) FB2 (Target Format)
Format Overview
TOML
Tom's Obvious Minimal Language

A minimal configuration file format created by Tom Preston-Werner. TOML provides clear semantics that map unambiguously to a hash table. It supports typed values including strings, integers, floats, booleans, dates, arrays, and tables. Used extensively in Cargo.toml, pyproject.toml, and modern tooling.

Configuration Format Formally Specified
FB2
FictionBook 2

An XML-based ebook format developed in Russia that stores the entire book including metadata, structure, and content in a single XML file. FB2 separates content structure from formatting, making it ideal for archival purposes. It is the dominant ebook format in Russian-speaking countries and Eastern Europe.

XML-Based Ebook Popular in CIS
Technical Specifications
Structure: Key-value pairs with tables and arrays
Encoding: UTF-8 required
Format: Plain text, human-readable
Compression: None
Extensions: .toml
MIME Type: application/toml
Structure: Single XML document with schema
Encoding: UTF-8 (XML encoding)
Format: XML-based, text-readable
Compression: None (often distributed as .fb2.zip)
Extensions: .fb2
MIME Type: application/x-fictionbook+xml
Syntax Examples

TOML structured data:

[package]
name = "myapp"
version = "1.0.0"
authors = ["Dev <[email protected]>"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = "1.28"

FB2 XML book structure:

<FictionBook>
  <description>
    <title-info>
      <book-title>myapp Config</book-title>
      <author><nickname>Dev</nickname></author>
    </title-info>
  </description>
  <body>
    <section><title><p>Package</p></title>
      <p>Name: myapp</p>
    </section>
  </body>
</FictionBook>
Content Support
  • String values (basic and literal)
  • Integer and float numbers
  • Boolean values
  • Date and time types
  • Arrays (typed and mixed)
  • Tables and inline tables
  • Array of tables
  • Comments
  • Structured text with paragraphs
  • Sections and chapters
  • Rich metadata (author, genre, date)
  • Inline formatting (bold, italic)
  • Base64-encoded images
  • Footnotes and annotations
  • Epigraphs and poems
  • Tables (basic)
  • Hyperlinks
Advantages
  • Clear, minimal syntax
  • Strong typing for values
  • Easy to read and write
  • Formally specified standard
  • Native date/time support
  • Unambiguous parsing rules
  • Self-contained single XML file
  • Separates content from presentation
  • Rich metadata support
  • Easy to parse and transform (XML)
  • Excellent for archival purposes
  • Wide support in CIS countries
  • Compact and efficient
Disadvantages
  • Not designed for document content
  • No formatting or styling
  • Limited to structured data
  • Not suitable for prose
  • Smaller ecosystem than JSON/YAML
  • Limited adoption outside CIS countries
  • Basic formatting compared to EPUB
  • No CSS styling support
  • Images stored as Base64 (large files)
  • No multimedia support
Common Uses
  • Rust project configuration (Cargo.toml)
  • Python project metadata (pyproject.toml)
  • Hugo static site configuration
  • Netlify deployment settings
  • Application settings files
  • Russian-language ebook publishing
  • Digital library archives (lib.rus.ec)
  • E-reader content in CIS countries
  • Book cataloging and metadata
  • Long-term ebook archival
  • Open-source ebook distribution
Best For
  • Application configuration
  • Project metadata definitions
  • Structured settings files
  • Build system configuration
  • CIS region ebook distribution
  • Book archival with metadata
  • XML-based document processing
  • Structured content storage
Version History
Introduced: 2013 (Tom Preston-Werner)
Current Version: TOML v1.0.0 (2021)
Status: Stable, formally specified
Evolution: Community-driven development
Introduced: 2004 (Dmitry Gribov)
Current Version: FictionBook 2.1
Status: Stable, community-maintained
Evolution: FB1 → FB2 → FB2.1 (FB3 proposed)
Software Support
Editors: VS Code, Vim, Sublime Text, IntelliJ
Languages: Rust, Python, Go, JavaScript, Java
Tools: Cargo, pip, Hugo, Netlify CLI
Validation: taplo, toml-lint
E-Readers: PocketBook, ONYX BOOX, most CIS readers
Apps: FBReader, CoolReader, Calibre
Converters: Calibre, pandoc, fb2edit
Libraries: fb2parser, lxml (Python)

Why Convert TOML to FB2?

Converting TOML configuration files to FB2 format creates structured, XML-based ebook documents that are particularly popular in Russian-speaking countries and Eastern Europe. FB2 (FictionBook 2) stores content, metadata, and structure in a single XML file, making it an excellent format for archiving and distributing technical documentation derived from configuration data.

FB2 is unique among ebook formats because it strictly separates content structure from presentation. This makes it ideal for converting structured data like TOML, where the key-value pairs and table hierarchies map naturally to FB2's section-based XML structure. The resulting document preserves the logical organization of the original TOML file while adding rich metadata including authorship, descriptions, and categorization.

For development teams working with Russian-speaking stakeholders or distributing documentation in CIS countries, FB2 is often the preferred ebook format. Major digital libraries and e-reader platforms in these regions support FB2 natively, and readers like PocketBook and ONYX BOOX provide excellent FB2 rendering. Converting TOML project files to FB2 ensures maximum reach within these markets.

The XML-based nature of FB2 also makes it highly suitable for automated processing pipelines. Converted FB2 files can be easily transformed, indexed, and cataloged by XML-aware tools. This is valuable for organizations building documentation archives or digital libraries from their project configuration files, especially when combined with FB2's rich metadata capabilities.

Key Benefits of Converting TOML to FB2:

  • CIS Compatibility: Dominant ebook format in Russian-speaking countries
  • XML Structure: Both TOML hierarchy and FB2 sections map naturally
  • Rich Metadata: Comprehensive book metadata (author, title, genre, dates)
  • Self-Contained: Single XML file with all content and images
  • Archival Quality: Excellent for long-term document preservation
  • E-Reader Support: Native support on PocketBook, ONYX BOOX, FBReader
  • Programmatic Access: XML format enables automated processing

Practical Examples

Example 1: Project Dependencies Reference

Input TOML file (Cargo.toml):

[package]
name = "myapp"
version = "1.0.0"
edition = "2021"
authors = ["Dev <[email protected]>"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1.28", features = ["full"] }
reqwest = "0.11"

[profile.release]
opt-level = 3
lto = true

Output FB2 file (myapp-config.fb2):

FictionBook2 XML document:
✓ <title-info> with book-title "myapp Config"
✓ <section> Package: name, version, edition
✓ <section> Dependencies with version details
✓ <section> Release profile configuration
✓ Author metadata from authors field
✓ Structured XML sections for each table
✓ Readable on PocketBook, FBReader

Example 2: Application Configuration Archive

Input TOML file (app-config.toml):

[database]
host = "db.internal.example.com"
port = 5432
name = "production_db"
pool_size = 20

[cache]
backend = "redis"
url = "redis://cache.internal:6379"
ttl = 3600

[api]
rate_limit = 100
timeout = 30
cors_origins = ["https://app.example.com"]

Output FB2 file (app-config.fb2):

Archived FB2 reference document:
✓ Database section with connection details
✓ Cache configuration section
✓ API settings section with limits
✓ All values preserved in structured XML
✓ Single self-contained .fb2 file
✓ Can be compressed to .fb2.zip
✓ Suitable for document archive systems

Example 3: Build System Configuration

Input TOML file (build.toml):

[build]
target = "x86_64-unknown-linux-gnu"
jobs = 4
incremental = true

[build.env]
RUST_LOG = "info"
DATABASE_URL = "postgres://localhost/dev"

[[build.steps]]
name = "compile"
command = "cargo build --release"

[[build.steps]]
name = "test"
command = "cargo test --all"

Output FB2 file (build.fb2):

Structured FB2 documentation:
✓ Build configuration main section
✓ Environment variables subsection
✓ Build steps listed sequentially
✓ Each step with name and command
✓ Clean XML structure for processing
✓ Metadata with document description
✓ Compatible with all FB2 readers

Frequently Asked Questions (FAQ)

Q: What is FB2 format?

A: FB2 (FictionBook 2) is an XML-based ebook format developed in Russia by Dmitry Gribov in 2004. It stores the entire book, including metadata, structure, and content, in a single XML file. FB2 is the dominant ebook format in Russian-speaking countries and is supported by popular readers like FBReader, CoolReader, PocketBook, and ONYX BOOX devices.

Q: Why is FB2 popular in Russia and CIS countries?

A: FB2 was created by a Russian developer and gained early adoption through major Russian digital libraries. Its XML structure handles Cyrillic text excellently, and it became the standard format for platforms like Flibusta and lib.rus.ec. Russian e-reader manufacturers like PocketBook built native FB2 support into their devices, creating a strong ecosystem.

Q: How does the TOML hierarchy map to FB2 sections?

A: TOML tables become FB2 sections with titles, key-value pairs become paragraphs within those sections, arrays become formatted lists, and nested tables create nested FB2 sections. The array of tables in TOML maps to repeated sections. This natural mapping preserves the structure and readability of the original configuration data.

Q: Can I convert FB2 back to TOML?

A: While technically possible, converting FB2 back to TOML may lose some structural information since FB2 adds metadata and formatting that does not exist in TOML. For round-trip conversions, it is better to keep the original TOML file. The FB2 version should be treated as a read-only documentation format derived from the source TOML.

Q: What is the difference between .fb2 and .fb2.zip?

A: A .fb2 file is an uncompressed XML document, while .fb2.zip is the same file compressed in a ZIP archive. Since FB2 is plain XML and can be quite large with embedded images, distributing as .fb2.zip significantly reduces file size. Most FB2 readers can open both formats directly without manual extraction.

Q: Does FB2 support images from TOML data?

A: FB2 supports images encoded as Base64 data embedded within the XML file. While TOML configuration files typically do not contain images, the conversion can include diagrams or visual representations of the configuration structure if needed. Any images are stored inline within the FB2 XML document.

Q: Can I read FB2 files outside of Russia?

A: Yes. While FB2 is most popular in CIS countries, it is supported globally by applications like FBReader (available on Android, iOS, Windows, Linux), CoolReader, Calibre (all platforms), and many e-readers. You can also use Calibre to convert FB2 to other formats like EPUB or MOBI if needed.

Q: Is FB2 suitable for technical documentation?

A: FB2 handles technical documentation reasonably well, especially for text-heavy content. It supports sections, subsections, footnotes, and basic formatting. However, for complex technical documentation with code highlighting, tables, and diagrams, EPUB3 may be a better choice. FB2 excels when you need structured, metadata-rich documents in a portable single-file format.