If you've self-published a book, you've hit the formatting wall.

You finish your manuscript. You've spent months โ€” maybe years โ€” writing, revising, getting it right. Now you need to turn it into something that actually looks like a book. A print-ready PDF for KDP. An EPUB for everywhere else. Maybe a large-print edition. Maybe a hardcover.

The standard advice? Pay $250 for Vellum (Mac only), or $150 for Atticus, or wrestle with free tools that produce output that looks like a college term paper. Most indie authors just pay up, because the alternative is spending days fighting with Word templates and hoping the margins are right.

I didn't want to keep paying for something that should be simple. So I built it myself.

What Book Formatter Does

Book Formatter is a command-line tool that takes your manuscript โ€” either markdown files or a Word document โ€” and generates every format you need for publishing:

Paperback PDF. Print-ready interior for KDP Print or IngramSpark. Proper trim sizes (5x8, 5.5x8.5, 6x9, and more), calculated gutters that adjust for page count, running headers, widow/orphan control, and a professional title page with copyright notice.

EPUB 3. Standard ebook format for Draft2Digital, Google Play, Barnes & Noble, and libraries. Embedded cover image, table of contents, and clean typography.

Large-print PDF. Same interior, bigger type. 16pt body text on 7x10 trim with wider line spacing. Ready for KDP's large-print category.

Hardcover PDF. 6x9 format with adjusted margins for case laminate or dust jacket binding.

One command builds all four:

book-formatter build

That's it. Your manuscript goes in, four publication-ready files come out.

How It Works

You write your manuscript in markdown or Word (.docx). If you use markdown, you can either keep each chapter in its own numbered file (01_THE_STORM.md, 02_THE_AFTERMATH.md) or put everything in one file with # Chapter headings. If you use Word, just write normally with Heading 1 for chapter titles โ€” Book Formatter handles the conversion.

You configure your book with a simple book.yaml file:

title: "My Book"
author: "My Name"
manuscript: "chapters/"

typography:
  body_font: "EB Garamond"
  body_size: "11pt"

print:
  trim: "5.5x8.5"

Run book-formatter build and it generates everything. The tool uses Pandoc and XeLaTeX under the hood โ€” the same typesetting engine used by academic publishers โ€” so the output is genuinely professional.

Why Not Just Use Vellum?

Vellum is good software. So is Atticus. But they cost money, and they do things I don't need.

I don't need drag-and-drop chapter reordering. I don't need 47 ornamental scene break designs. I don't need a visual preview that shows me what my book looks like on a Kindle โ€” because what matters is what it looks like when a reader opens it, not what it looks like in a formatting tool.

What I need is correct margins, proper gutters, clean typography, and output files that KDP and IngramSpark accept without errors. Book Formatter does that. If you need the bells and whistles, Vellum and Atticus are there. If you need the formatting done right and done free, this is the tool.

Why I Open-Sourced It

Same reason I open-sourced KDP Scout. The indie publishing community has enough people charging money for basic utilities. Formatting a book is not a $250 problem. It's a solved problem โ€” the open-source tools just haven't been packaged in a way that's easy to use.

I formatted both The Aethelred Cipher and The Genesis Protocol with this tool. It produces the exact same quality output as Vellum, because it's using the same underlying technology (LaTeX) that professional publishers have used for decades.

MIT licensed. Use it, modify it, fork it. No strings.

Formatted with this tool Every edition โ€” paperback, ebook, and large print โ€” was produced by Book Formatter.

What You Need

Python 3.9+, Pandoc, and a LaTeX distribution. On a Mac:

brew install pandoc
brew install --cask mactex-no-gui
git clone https://github.com/rxpelle/book-formatter.git
cd book-formatter
pip install -e .

Then book-formatter init to create your config file, and book-formatter build to generate your formats.

The Honest Limitations

It's a command-line tool. No GUI. If you've never used a terminal, there's a small learning curve โ€” but the commands are simple and the README walks you through everything.

It doesn't do custom scene break ornaments or decorative drop caps (yet). It focuses on clean, professional formatting that matches what traditional publishers produce. If you want your chapters to open with elaborate floral borders, this isn't the tool for you.

It also requires LaTeX to be installed for PDF generation, which is a large download (~4GB for MacTeX). But you install it once and forget about it.

Try It

Full docs, installation guide, and source code on GitHub:

github.com/rxpelle/book-formatter

If you find it useful, check out the other free tools I've built for indie authors: KDP Scout (keyword research), Cover Generator (AI-powered covers), and Review Miner (turn reviews into ad copy).

And if you're looking for something to read, check out my books and leave an honest review. That goes further than any payment.