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
- 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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- The file passes epubcheck with no errors.
- Title and author are real values, not placeholders left over from a template.
- The cover is embedded in the file itself — separate from the cover you upload to KDP.
- Chapters appear in the right order, and front and back matter sit outside the chapter numbering.
- The table of contents lists chapters, not your copyright page and dedication.
- If the book is part of a series, the series name and number are set.
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.
One file, every store. Write the book; let the export be boring.
Join the beta →