How to Publish an EPUB on Amazon KDP
A complete walkthrough of taking an EPUB file and turning it into a live, for-sale Kindle eBook on Amazon — validating the file, metadata, cover, pricing, KDP Select, and publishing.
What you'll need
- Your finished manuscript exported as a valid .epub file
- A free Amazon KDP account at kdp.amazon.com
- A high-res cover image (2560×1600 px JPG)
- Your tax + bank details (KDP collects these once during account setup)
- About 60 minutes for the first upload — future books take ~15 minutes
The 9 steps from .epub to live Kindle listing
- Step 1
Validate your EPUB before uploading
KDP accepts EPUB 2 and EPUB 3, but it's strict about malformed files. Run your .epub through the free EPUBCheck tool (or use a service like epubcheck.online) to catch broken HTML, missing assets, or invalid metadata before Amazon does. Fixing errors locally is faster than the KDP rejection round-trip.
- EPUBCheck must report 0 errors — warnings are usually fine
- Open the EPUB in Calibre or Kindle Previewer to spot visual issues
- Check that the .epub file size is under KDP's 650 MB cap
- Step 2
Make sure the table of contents is clickable
Kindle requires a logical (NCX or nav) table of contents — not just a printed list of chapters. Most EPUB editors (Sigil, Calibre, Vellum, Pages) generate this automatically when you mark chapter titles as Heading 1. Open the EPUB in Kindle Previewer and check that the TOC menu actually jumps to chapters; if it doesn't, fix it before uploading.
- Mark every chapter title as Heading 1 so the nav doc picks it up
- Avoid putting chapter titles inside images — they won't be clickable
- Front matter (title page, copyright) should NOT be in the TOC
- Step 3
Polish metadata embedded inside the EPUB
Open content.opf inside the EPUB (or use Calibre → Edit Metadata) and confirm the title, author, language, and identifier are correct. Amazon overrides some of these from what you type into the KDP form, but a clean OPF prevents Kindle from showing the wrong author or weird placeholder text on the device library screen.
- Set <dc:language> to your book's actual language code (e.g. en, es, fr)
- Use a real ISBN or a UUID — never leave the identifier blank
- Author name in EPUB metadata should match exactly what you enter on KDP
- Step 4
Prepare a high-resolution cover (separate file)
KDP wants a separate cover image at 2560×1600 px (1.6:1 ratio), JPG or TIFF, sRGB color, under 50 MB. Even though your EPUB already contains a cover image internally, KDP uses the uploaded one for the Amazon product page and Kindle library thumbnail — so make sure it's sharp at small sizes and the title is still legible at thumbnail.
- Aim for 2560×1600 px — bigger images get downsampled cleanly
- Use JPG (smaller) unless you need transparency
- Test legibility by shrinking the cover to 200 px wide
- Step 5
Create a new Kindle eBook on KDP
Sign in at kdp.amazon.com and click Create → Kindle eBook. The Details tab asks for title, subtitle, series (optional), edition number, author name, contributors, description, publishing rights, AI content disclosure, keywords (up to 7), and categories (up to 3). Amazon's keyword field is the single biggest discoverability lever — use specific phrases real readers search.
- Pick keywords like "cozy mystery cat detective" not just "mystery"
- All 3 category slots should match your genre — don't pad with unrelated ones
- Disclose AI-generated text/images honestly — it's allowed but required
- Step 6
Upload the EPUB and the cover
On the Content tab, choose Digital Rights Management (DRM yes/no — usually no for indie), then upload the .epub file. Wait for KDP to finish processing (1–5 minutes), then upload the cover image. KDP will run its own conversion to the Kindle Format (KFX/AZW3) and surface any compatibility issues with red error messages.
- Keep DRM off unless you have a strong reason — readers prefer DRM-free
- If KDP flags a font issue, re-export the EPUB with fonts embedded
- Don't tick "page numbers from print edition" unless you have one
- Step 7
Preview every page in Kindle Previewer
Click Launch Previewer (or download the desktop Kindle Previewer 3 app — more reliable). Switch between Kindle Paperwhite, Kindle Fire tablet, and Kindle for iPhone views and click through every page. Look for broken images, weird page breaks inside chapters, hyperlinks that don't work, and tables/columns that overflow on small screens.
- Phone view is the strictest — if it looks good there, it'll look good everywhere
- Test the table of contents from the Kindle menu, not just visually
- Check the first 10% of the book — Amazon's free sample uses that
- Step 8
Set pricing, KDP Select, and royalty
On the Pricing tab choose your primary marketplace and price. The 70% royalty tier is available for prices between $2.99 and $9.99 (under $2.99 or over $9.99 drops you to 35%). Decide whether to enrol in KDP Select — it gives you Kindle Unlimited income and 5 free promo days every 90 days, but the eBook becomes Amazon-exclusive for 90 days.
- $2.99–$4.99 is the sweet spot for most indie eBooks
- Enrol in KDP Select for your first launch to maximize visibility
- Use price-other-marketplaces auto-fill for international pricing
- Step 9
Hit Publish and go live
Click Publish Your Kindle eBook. Amazon reviews the file (usually within 24–72 hours) and your book goes live with its own ASIN and product page. Set up Amazon Author Central afterwards to claim the title under your author profile, add a bio, and link the eBook to a paperback edition if you have one.
- Update the EPUB anytime — re-upload, wait 24h, customers get the new version
- Set up an A+ Content module on the product page for richer marketing
- Run a Kindle Countdown Deal in your first 90 days for a discoverability bump
Frequently asked questions
Related guides
Skip the EPUB validation headache
KDP AI Book Maker generates your entire book — manuscript and cover — as a Kindle-ready file with a working TOC, embedded fonts, and valid metadata. No Sigil, no Calibre, no EPUBCheck.
Generate a Kindle-ready book