InkSpinePRIVATE BETA

Guide / EPUB for KDP

How to export an EPUB for Amazon KDP

Uploading a book to KDP is the part of self-publishing where a finished manuscript suddenly becomes a file-format problem. Here’s what Amazon actually accepts, what has to be inside the file before you upload it, and how to produce one that validates.

What KDP accepts

Amazon’s supported-formats list is longer than most writers expect. For a reflowable ebook, KDP takes:

KPF
Kindle Create's own format — the one Amazon recommends
EPUB
The open ebook standard — accepted by KDP and every other store
DOC / DOCX
Microsoft Word
HTML
As ZIP, HTM, or HTML
RTF / TXT
Plain and rich text
PDF
Accepted for a limited set of languages

Two things worth knowing. Amazon’s own recommendation is KPF, the format produced by their free Kindle Create tool — it’s built to fit every Kindle device, and if Kindle is the only place your book will ever live, it’s a perfectly reasonable choice. And MOBI is finished: per Amazon, “Effective March 2025, we will no longer accept MOBI files for fixed-layout eBooks.” If a guide tells you to make a MOBI, it’s out of date.

Why export EPUB anyway

Because KPF only goes one place. It’s Amazon’s format, made by Amazon’s tool, for Amazon’s store. The moment you want the same book on Apple Books, Kobo, or Google Play Books, you need an EPUB — so you either keep two files in sync through every correction and typo fix, or you make one EPUB that goes everywhere, KDP included.

The catch is that “an EPUB” and “a valid EPUB” aren’t the same thing. An EPUB is a zip archive with a strict internal structure, and a malformed one fails quietly — it can look fine in one reader, lose its chapter breaks in another, and get rejected outright by a third. This is why epubcheck, the official validator, exists, and why running it matters more than eyeballing the result on your own laptop.

What has to be in the file

Before you upload anything, four things need to be right inside the EPUB itself — not in the KDP web form, where it’s easy to assume they live:

  1. Metadata. Title, author, description, language, and publication date. If the book is part of a series, the series name and position too — that’s what puts it on a series shelf rather than stranding it as a standalone. An ISBN is optional for Kindle; other stores may want one.
  2. A cover, embedded. The cover you upload to KDP is separate from the cover inside the file. Both should exist, and they should be the same image — an EPUB with no embedded cover opens to a blank first page in most readers.
  3. Reading order. Front matter, then chapters, then back matter. This is the spine, and it’s what a reader’s “next page” follows — independent of what your table of contents shows.
  4. A table of contents that isn’t a mess. Chapters belong in it. Your copyright page, dedication, and acknowledgements generally don’t — they should still be in the reading order, just not cluttering the navigation.

Doing it in InkSpine

InkSpine exports EPUB 3 that validates with epubcheck — zero errors, zero warnings — and that check runs in CI against fixture projects on every change that touches export, so it isn’t a claim that quietly rots between releases. The output is tested against Apple Books, Calibre, Kindle Previewer, and Kobo’s submission tool.

  1. Open export from the book (or press ⌘E). Export belongs to a book, not to the whole project, so a series exports one volume at a time.
  2. Check the chapters going in. Chapters marked final or revising start checked; draft chapters start unchecked; cut chapters can’t be included at all. Anything you keep in the project but never ship — bonus scenes, author notes — can be flagged Default off in the inspector so it stays unchecked every time without you remembering.
  3. Write your front and back matter first. Dedication, copyright, about-the-author, also-by. These live in the project tree beside your chapters, under Front matter and Back matter, and you write them like any other page. The export window then lets you tick which ones belong in this particular file — they go into the reading order in the right place and stay out of the table of contents.
  4. Fill in the publication metadata. Author, description, ISBN, series name and position, subject tags, publication date. Each field is saved back into the book as you move off it, pre-filled next time, and blank fields are simply left out — no placeholder metadata reaches the store.
  5. Set the cover. Point at a JPG or PNG and it’s copied into the book’s own folder, so it travels with the project and is kept in your version history. It’s embedded in the EPUB with the compatibility pointer KDP looks for.
  6. Export, then check it before you upload. Open the file in Kindle Previewer and read the first few pages, the chapter breaks, and the table of contents. Do this once per book — it costs five minutes and catches the things no validator can, like a chapter in the wrong order.

Before you upload

Being straight with you

InkSpine is in private beta, built by one novelist writing their own book in it. The EPUB export is real and validated, but the app around it is still in active development — if you’re uploading to KDP next week, use whatever you already trust, and join the beta for the book after that one.

Keep reading

Formatting on a PC? Vellum for Windows →Questions about InkSpine, answered →

One file, every store. Write the book; let the export be boring.

Join the beta →