A fast and reliable tool to convert EPUB e-books to MDBook format.
- 📖 Converts EPUB content (XHTML/HTML) to Markdown
- 📑 Automatically generates
SUMMARY.mdfrom the EPUB table of contents - 📝 Creates
book.tomlwith metadata (title, authors, description, language) - 🖼️ Preserves images and other resources
- 🔗 Fixes internal links to point to converted Markdown files
cargo install epub2mdbookgit clone https://github.com/cyborg42/epub2mdbook.git
cd epub2mdbook
cargo install --path .# Basic usage - creates a subdirectory named after the book
epub2mdbook book.epub
# Specify output directory
epub2mdbook book.epub --output-dir ./output
# Output directly to the directory without creating a subdirectory
epub2mdbook book.epub --output-dir ./my-book --flatAdd to your Cargo.toml:
[dependencies]
epub2mdbook = "0.16"Then use in your code:
use epub2mdbook::convert_epub_to_mdbook;
fn main() -> Result<(), epub2mdbook::error::Error> {
// Creates ./output/book_name/ with the converted content
convert_epub_to_mdbook("book.epub", "./output", true)?;
// Or output directly to ./my-book/ without subdirectory
convert_epub_to_mdbook("book.epub", "./my-book", false)?;
Ok(())
}output/
└── book_name/
├── book.toml
└── src/
├── SUMMARY.md
├── chapter1.md
├── chapter2.md
└── images/
└── cover.png
This project is licensed under the MIT License