← toolkit.bot

How to Add or Change the Cover Image in an EPUB

A cover image is required by KDP, Kobo, and Apple Books, and it displays on every e-reader's library shelf. Here's how to add or replace a cover in any EPUB using Calibre and Sigil.

Method 1: Calibre Metadata Editor (Easiest)

For most cases, Calibre's metadata editor is the fastest way to set or replace a cover:

  1. Select the book in Calibre's library.
  2. Press E (or right-click → Edit metadata individually).
  3. In the metadata dialog, click the cover image area on the right.
  4. Click Browse to select a new image file (JPEG or PNG).
  5. Click OK. Calibre embeds the image as the EPUB cover.

This updates both the cover image file in the EPUB and the OPF cover metadata reference. It's the recommended approach for quick cover updates.

Method 2: Sigil (Full Control)

Sigil lets you control exactly how the cover is embedded — useful if Calibre's output doesn't satisfy validator requirements:

  1. Open the EPUB in Sigil.
  2. In the Book Browser, right-click Images/Add Existing Files. Select your cover JPEG.
  3. Open the OPF file (content.opf) in Code View. In the <manifest>, confirm the image has an entry:
    <item id="cover-image" href="Images/cover.jpg" media-type="image/jpeg" properties="cover-image"/>
  4. In the <metadata> section, add or update the cover reference:
    <meta name="cover" content="cover-image"/>
  5. Create or update the cover HTML page (cover.xhtml) that displays the image for readers that show a cover page.
  6. Save and validate with EPUBCheck.

Cover Image Requirements by Platform

Platform Minimum Size Recommended Size Format
Amazon KDP1000 × 625 px2560 × 1600 pxJPEG
Apple Books1400 px on shortest side2500 × 1563 pxJPEG or PNG
Kobo Writing Life800 × 1000 px1600 × 2400 pxJPEG or PNG
Draft2Digital1600 × 2400 px2400 × 3600 pxJPEG or PNG
Smashwords1600 × 2400 px2400 × 3600 pxJPEG or PNG

Use a 6:9 aspect ratio (portrait) as the standard. KDP's 1600×2560 px at 72 DPI is widely accepted across all platforms.

The Cover HTML Page

Most EPUB readers display a cover page when the book is opened. This requires a separate XHTML file (cover.xhtml) that displays the cover image full-page:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Cover</title>
<style>
  body { margin: 0; padding: 0; }
  img { max-width: 100%; height: auto; display: block; }
</style>
</head>
<body>
  <img src="../Images/cover.jpg" alt="Cover"/>
</body>
</html>

Reference this file first in the OPF <spine> so it appears as the opening page.

Why the Cover Shows as Blank in Some Readers

If the cover shows in Calibre but not on the Kindle or Kobo device:

Converting a PDF to EPUB? toolkit.bot generates EPUBs with properly embedded cover metadata.

Convert PDF to EPUB →

Related guides