ProseDown · Free, open-source ebook converter

Convert Markdown to EPUB.
Get Markdown from EPUB.

Make an ebook from a Markdown file or a folder of chapters. Extract text and images from an existing EPUB into Markdown you can edit in Obsidian or your favorite editor.

Runs locally · No manuscript uploads · Python 3.10+ · macOS, Windows & Linux

Editable source

Markdown project

book.md
01-introduction.md
02-chapter.md
images/

A book to read

book.epub

  • Chapters in reading order
  • Table of contents
  • Images and linked footnotes
  • Reflowable book typography
Markdown → EPUB with build. EPUB → editable Markdown with deconstruct; recovery is best-effort.

What do you want to convert?

From a manuscript to an ebook.
From an ebook to editable chapters.

Combine Markdown files into one EPUB

Turn an essay, a manuscript, or technical documentation into a book. Add a cover, arrange your chapters, and generate a table of contents. Keep editing your original Markdown.

Create an EPUB from Markdown →

Extract EPUB chapters and images

Recover an old manuscript or bring a book into your notes workspace. ProseDown creates Markdown chapters and local image files from a compatible, unencrypted EPUB.

Convert an EPUB to editable Markdown →

Install once. Convert on your computer.

Install the released version with Python 3.10 or later. No ProseDown account or manuscript upload is needed.

python -m pip install prosedown

EPUB → Markdown

prosedown deconstruct book.epub recovered/

Use a new output folder and keep the original EPUB. See what recovery preserves.

The site previews the 0.7 draft, including expanded Markdown and typography. The released package may differ; the guides explain how to try the draft.

See the output

Code, tables, and footnotes that belong in a book

Writing a programming guide, a manual, or a book with notes? The 0.7 draft styles inline code, code blocks, definitions, tables, and footnotes alongside your prose. Preview the actual compiler output below, or download the EPUB to try in your reader.

See supported Markdown syntax and formatting examples →

Questions before you convert

Is this a free online Markdown to EPUB converter?

ProseDown is free and open source, but conversion runs locally through a Python command-line tool. This website provides guides and examples; it does not accept file uploads.

Can I convert several Markdown files into one EPUB?

Yes. Put book metadata in book.md and use numbered chapter files, or specify an explicit chapter list. ProseDown builds one EPUB with navigation. Follow the multi-chapter example.

Can I use EPUB chapters in Obsidian?

Recovered chapters are ordinary Markdown files with local image references. Keep the image folder with the chapters. Rebuilding requires standard Markdown links rather than Obsidian wikilinks or embeds. See the recovery workflow.

Are footnotes, code blocks, and definition lists supported?

Yes. The 0.7 draft also supports code nested in lists and notes, rich definitions, abbreviations, and extended inline formatting. Read the profile guide for syntax and version details.

Will an EPUB look identical after conversion to Markdown and back?

No. Recovery aims for editable source. Complex tables, custom anchors, decorative layout, CSS resources, and embedded fonts can need manual review. Read the normalization limits.

Does ProseDown remove DRM or convert PDF?

No. It works with compatible unencrypted EPUBs and Markdown source. It does not remove DRM, import PDF, perform OCR, or create fixed-layout books.

How to organize your Markdown book

Start with a file or a folder, add your book details, then build. Keep this reference nearby as your manuscript grows. Read the full format specification →

Start with one Markdown file

---
title: "My Book"
author: "Your Name"
---

# My Book

Your first paragraph.

Save as my-book.md. Book details go above the first heading; your manuscript follows below. Follow the single-file guide →

Combine a folder of chapters

my-book/
  book.md
  01-introduction.md
  02-chapter.md
  cover.jpg
  css/style.css

Keep book metadata in book.md. Numbered files set chapter order; the cover and stylesheet are detected automatically.

Add a title and author

---
title: "Your Book"
author: "You"
---

These two book metadata fields are required. Put them at the top of your file, between the YAML separators.

Add a cover and book details

language: en
publisher: "Your publisher"
date: 2026-09-09
isbn: "978-…"
description: "A short book blurb."
cover: "cover.jpg"
css: "css/style.css"

Set only what you need. English is the default language; the bundled book style is used when you do not supply CSS.

Format more than paragraphs

The draft supports inline and nested code, rich footnotes, definition lists, aligned tables, abbreviations, and extended inline formatting.

See supported Markdown syntax →

Markdown dialects differ. Full MultiMarkdown and CommonMark compatibility are not claimed.

Keep drafts out of the book

_09-deleted-scene.md
_draft.md

Filenames starting with _ are skipped at build time. Useful for parking drafts in the same folder.

Name chapters and book sections

Filenames such as 01-copyright.md help ProseDown recognize a section’s role.

  • copyright, dedication, foreword: frontmatter
  • part-1, part-2: part dividers
  • afterword, colophon: backmatter

A chapter’s title comes from its title:, its first heading, or its filename, in that order. See all naming conventions →

Choose the right kind of book

ProseDown makes reflowable EPUBs: books whose text adapts to the screen and the reader’s font settings.

It does not convert PDF, remove DRM, generate citation bibliographies, or reproduce fixed layouts, media overlays, or specialized poetry and drama layouts.

Read the format’s scope →

Read the full spec →

Keep the workflow open

Use the CLI for a manuscript or import build and deconstruct from Python for a repeatable conversion workflow. The format, source, and examples are available under the MIT license.

Read the format specification · Browse the source · Known gaps and roadmap