EPUB → MD
Turn an ebook into clean Markdown — headings, emphasis, lists, block quotes and links all survive the trip. Built for people who write, not just read.
Drop your EPUB
or click to choose — the only ceiling is your own memory, none on our side
Markdown and EPUB are closer relatives than they look. An EPUB chapter is an XHTML document: a heading is an h2, an emphasis is an em, a quotation is a blockquote. Markdown has a symbol for each of those. So this conversion is a mapping between two ways of writing the same structure down, which is why it loses far less than converting to plain text does.
The people who ask for it are usually doing something with the words rather than reading them: importing a book into Obsidian or Logseq, moving a manuscript into a git repository where changes can be reviewed line by line, feeding a static site generator, or preparing a text for a language model that behaves better on Markdown than on HTML.
Each chapter is walked as a DOM tree and every element is mapped to its Markdown equivalent — not stripped with a regular expression, which is how nested lists and inline emphasis get mangled. The result is one .md file with YAML front matter carrying the title, author and language from the book's own OPF metadata.
Format by format
| What it does | EPUB | MD |
|---|---|---|
| What it is | A zip of XHTML documents plus a manifest | One plain text file with symbols for structure |
| Headings | h1 to h6 elements | # through ###### |
| Emphasis | em and strong elements | *italic* and **bold** |
| Images | Embedded files in the archive | A reference to a path |
| Edited with | An ebook editor such as Calibre or Sigil | Any text editor, and git can diff it |
| Read on | Apple Books, Kobo, Kindle, Calibre | A preview pane, or after a build step |
What actually changes
Markdown keeps meaning, not appearance. Anything the original expressed purely through CSS — a drop cap, a centred epigraph, a coloured sidebar — has nowhere to go, because Markdown has no symbol for it.
What survives
What does not
How it works
Nothing leaves the tab. The book's metadata appears as soon as it is read.
Elements are mapped to their Markdown equivalent rather than regex-stripped, so nested lists survive.
Paste it into Obsidian, a static site, or a git repository.
FAQ
One file today, with each chapter separated by its own heading. Per-chapter export is a fair request and it is on the list; the useful version also needs sensible file naming, which is the part worth getting right.
Not yet — image references are kept pointing at their original path inside the EPUB, so they will not resolve outside it. Extracting the image files themselves is a separate tool.
Usually yes. Inline code inside a code element is preserved as backticks. Fenced blocks depend on the book using real pre and code markup rather than paragraphs that merely look like code, which is a choice the publisher made long before you got here.
It carries the title, author and language taken from the book's own OPF metadata, in the format Obsidian, Jekyll, Hugo and most static site generators expect. Delete it if your tool does not want it.
CommonMark-compatible output: ATX headings, asterisks for emphasis, dashes for bullets, angle brackets for quotes. Nothing exotic, so it renders correctly wherever Markdown renders at all.
Not directly on this site yet — Markdown to EPUB is in the next batch. In the meantime, most static site generators will render the Markdown to HTML, and the HTML to EPUB tool takes it from there.
HTML keeps more: tables, inline styling, the publisher's own markup. Markdown keeps less but is far easier to edit by hand and to diff. Pick HTML for fidelity and Markdown for writing.
Run the original through DualBook first and you get both languages back — then export either one.