7 KDP Formatting Mistakes Indie Authors Make

KDP's upload flow is frictionless enough that many formatting problems never announce themselves until after the book is live. These seven mistakes are the ones that get through the initial processing pipeline and show up later — as a book with no store cover, a Kindle navigation menu that jumps to the wrong chapter, or a reader review mentioning that chapter three appeared twice. Each is preventable before you hit Publish.

Letting the Kindle TOC navigation get out of sync with chapter files

Authors who reorder chapters after first export often update the in-text table of contents but leave the NCX navPoints pointing to the original chapter sequence. Kindle devices use the NCX to power the in-reader "Go To → Table of Contents" menu. When navPoints reference the wrong anchors, readers navigate to the wrong place — and KDP's content review sometimes catches the mismatch before the book goes live, triggering a rejection with a non-obvious error message.

NCX navPoint mismatch — full guide

Cover image uploaded without the cover-image manifest declaration

Every author knows the cover matters for conversion rates. Fewer know that the cover image file also needs properties="cover-image" in the OPF manifest entry for KDP to identify it as the storefront thumbnail. An EPUB with a beautiful cover but a missing manifest property uploads successfully — and the book appears with no cover image in both the KDP dashboard and the store listing, with no upload error to indicate why.

Cover image manifest property — full guide

Spine order that disagrees with the book's actual reading sequence

This one trips up authors who reorganize chapters after the initial EPUB export. The OPF spine is the authoritative reading order for Kindle devices, and a spine that doesn't match the actual chapter sequence produces an ebook where hitting "next chapter" lands in the wrong place. The cover, TOC, and individual chapters all look correct when opened directly — the problem only appears when reading sequentially.

Broken spine order errors — full guide

Filling keyword slots with single words instead of reader search phrases

KDP gives each title seven keyword slots. Authors who fill them with single words — "mystery," "thriller," "romance" — are competing against every title in those broad terms with no qualifier to match reader intent. The same slots filled with three-to-five-word search phrases — "cozy mystery small town amateur sleuth" — match how readers actually search and surface the book in a much narrower, more relevant set of results. Same KDP account, same upload, entirely different discoverability outcome.

KDP submission requirements — full guide

Submitting without a Kindle Previewer check

KDP converts your EPUB to Kindle Format internally before distributing to Kindle devices. That conversion sometimes produces different output than what you see in Calibre, Adobe Digital Editions, or the KDP online previewer. The Kindle Previewer desktop app downloads the KFX output KDP will actually deliver — not a simulation of it. Running through Previewer is the only step that catches rendering issues specific to the Kindle conversion pipeline before your readers do.

KDP pre-launch checklist — Previewer step

Enrolling in KDP Select while still listed on Draft2Digital or Smashwords

KDP Select requires 90-day exclusivity to Amazon for ebook distribution. Authors who enroll in KDP Select but leave the same title active on Draft2Digital or Smashwords are in violation of the Select agreement from day one. Amazon periodically checks for active listings elsewhere and can terminate the KDP Select enrollment, remove the title's Select benefits retroactively, or in repeat cases take action on the broader account.

KDP submission requirements — full guide

Ghost spacing from blank lines in Word or Scrivener exports

The most consistent EPUB structural issue in KDP submissions is ghost spacing: empty <p></p> tags that survive the DOCX-to-EPUB conversion from Word or Scrivener. On Kindle devices, these render as inconsistent gaps between paragraphs that weren't in the original manuscript. KDP's auto-conversion process doesn't strip empty paragraph tags — what goes in comes out, rendered differently on every Kindle model.

Ghost spacing fix — full guide

Common questions

Will any of these mistakes cause KDP to reject my file outright?

Items 2 (missing cover property) and 3 (broken spine order) are most likely to produce an error during KDP's processing pipeline. Items 1 and 7 (NCX mismatch, ghost spacing) usually let the file through but produce a poor reader experience. Items 4 and 6 (keywords, KDP Select conflict) don't trigger upload rejection but affect discoverability or account standing in ways that show up later.

Does KDP have a stricter validator than EPUBCheck?

KDP's validation is generally more lenient than Apple Books' — it accepts some files with EPUBCheck errors that Apple Books rejects. But KDP runs its own Kindle conversion on upload, which can surface issues EPUBCheck doesn't flag, particularly around NCX structure and spine order. A file that passes EPUBCheck can still produce a broken Kindle navigation experience.

What's the fastest pre-upload check for KDP?

Two steps: validate with EPUBCheck via BookKraft's free EPUB Validator to catch structural errors, then preview the converted file in the Kindle Previewer desktop app to catch rendering issues that survive validation. Both take under 10 minutes and between them catch the vast majority of KDP-specific problems before submission.

Validate your EPUB before submitting

The free EPUB Validator catches the structural, metadata, and navigation errors covered above — before they become platform rejections. No signup required.

Validate Your EPUB Free →

For a complete guide to EPUB structure and common errors, see the EPUB formatting guide and the EPUB errors reference.

Platform rejection guides: Why Amazon KDP rejects ebooks

Publishing checklists: KDP pre-launch checklist

Common EPUB errors: Ghost spacing in e-reader previews, NCX navPoint mismatch errors