Convert Markdown to EPUB

ProseDown turns a Markdown file or a folder of chapters into a reflowable EPUB using a local Python command. It is useful for authors, technical writers, and anyone who wants an ebook while keeping the manuscript in editable text files.

Start with one Markdown file

Install the released package with Python 3.10 or later:

python -m pip install prosedown

Save this as my-book.md. The two required metadata fields are title and author:

---
title: A Small Field Guide
author: Jane Smith
---

# A Small Field Guide

A book can begin with one paragraph.

## The first observation

Use **emphasis**, lists, and links as you would in ordinary Markdown.

Then create the ebook:

prosedown build my-book.md my-book.epub

Your original Markdown remains editable. Open the EPUB in your reading app to check its layout and navigation. Before distributing a book, validate the actual output with EPUBCheck.

Create and check a project (0.7 draft)

Install from a checkout containing the draft changes with python -m pip install -e ., then run:

prosedown new my-book --title "My Book" --author "Jane Smith"
prosedown check my-book
prosedown build my-book my-book.epub

new creates book.md and a sample chapter with an explicit chapter list. The directory must not already exist. Defaults are My Book and Your Name; replace those placeholders and edit language: en as needed. Add new chapter filenames to the chapters: list as your book grows.

check accepts a project directory or a single Markdown file. It runs the same source validation and XHTML generation as build, without writing files or packing an EPUB. Errors exit with status 1; warnings alone still exit with 0. It does not replace EPUBCheck or inspection in a reading app.

Combine multiple Markdown chapters into one ebook

For a longer manuscript, put book metadata in book.md and use numbered chapter filenames:

manuscript/
  book.md
  01-introduction.md
  02-the-first-lesson.md
  03-next-steps.md
  cover.jpg

Run:

prosedown build manuscript/ field-guide.epub

ProseDown discovers the numbered chapters in order, generates navigation, and includes referenced local images. Use an explicit chapters: list in book.md when you need a different order. Prefix a draft filename with _ to exclude it. See the project specification for chapter ordering and metadata.

Keep code, tables, and footnotes readable

Inline code, fenced code, definitions, tables, and footnotes suit manuals and reference books as well as prose. The 0.7 draft adds nested code fences, richer notes and definitions, and more inline formatting. It also improves EPUB code styling and typography.

These draft additions are not a claim about the released PyPI package. To try them, install from a checkout containing the 0.7 changes with python -m pip install -e .. The Markdown and EPUB typography guide documents the profile, and the sample EPUB shows the current build.

Use a cover or your own stylesheet

A root-level cover.jpg or cover.png is discovered automatically. Put custom CSS in css/style.css, or declare its path with css: in book.md. The bundled stylesheet is used when you do not supply one.

The reading sample includes code, notes, quotations, tables, and definitions. You can download its stylesheet to use as a starting point.

Read your Markdown book on Kindle

ProseDown produces EPUB rather than an Amazon-specific format. Amazon lists EPUB among the formats accepted by Send to Kindle. Use that service to send the EPUB to your Kindle library, then inspect the result on your device. ProseDown does not upload the book for you.

Is ProseDown an online converter?

No. The converter runs on your computer through a command-line tool. You do not upload your manuscript to ProseDown, and conversion does not require an account. The website offers instructions and downloadable examples, not a file-upload service.

What does it not do?

ProseDown targets reflowable EPUBs. It does not create PDF, render LaTeX math, generate citation bibliographies, or reproduce fixed-layout picture books. Markdown dialects differ: full CommonMark or MultiMarkdown compatibility is not claimed. For an existing ebook, use the EPUB to Markdown guide instead.