How to Add or Change an EPUB Cover Image (2026)
Every EPUB should have a cover image. It appears in the library grid of every e-reader app, and without one your book displays a generic grey placeholder. This guide shows how to add or replace a cover using Calibre, Sigil, or a manual zip editor — and explains the correct metadata required for the cover to work on all devices.
How EPUB cover images work
An EPUB cover requires two things working together:
- The image file: a JPEG or PNG inside the EPUB zip (typically
images/cover.jpgorcover.jpeg). - The metadata declaration: the
content.opfmanifest must include the image and mark it as the cover.
EPUB 2 and EPUB 3 declare covers differently:
<!-- EPUB 2: meta tag in content.opf -->
<meta name="cover" content="cover-image"/>
<item id="cover-image" href="images/cover.jpg"
media-type="image/jpeg"/>
<!-- EPUB 3: properties attribute on the manifest item -->
<item id="cover-image" href="images/cover.jpg"
media-type="image/jpeg" properties="cover-image"/>
Recommended cover image specifications
- Format: JPEG (smaller file size) or PNG (lossless, supports transparency)
- Dimensions: at least 1600 × 2400 px recommended; Kindle requires at least 1000 px on the short side
- Aspect ratio: 2:3 (portrait) — matches most e-reader library grids
- File size: keep under 500 KB; large covers slow loading on older devices
- Color space: sRGB (devices may display CMYK incorrectly)
Add or change cover in Calibre
This is the easiest method for a quick cover change:
- Add the EPUB to Calibre. Click the book to select it.
- Click Edit metadata (press E).
- In the metadata dialog, click the cover image on the right.
- Click Browse to select a cover image from your file system, or Download cover to fetch one from online sources.
- Click OK. Calibre writes the image into the EPUB and updates
content.opf.
To verify: right-click the book → Open with → EPUB viewer and confirm the cover appears correctly.
Add or change cover in Sigil
Sigil gives you direct control over the EPUB internals:
- Open the EPUB in Sigil.
- In the Book Browser panel (left side), right-click Images → Add Existing Files. Select your cover JPEG/PNG.
- Right-click the newly added image → Add Semantics → Cover Image. Sigil updates the manifest with the cover-image property.
- For EPUB 2 compatibility: open
content.opfin the code editor, find the<metadata>section, and add<meta name="cover" content="YOUR-IMAGE-ID"/>. - Save (Ctrl+S). Run Tools → Run All Checks to confirm no errors.
Manual method using a zip editor
An EPUB is a ZIP archive. You can edit it directly without specialized tools:
- Rename
book.epubtobook.zipand extract it. - Replace
images/cover.jpg(or wherever the existing cover is) with your new image — keep the same filename. - If adding a new cover (not replacing), also edit
content.opfto add the manifest item and cover metadata. - Repack:
zip -rX book.epub mimetype . --exclude=mimetype(must add mimetype first, uncompressed). - Rename
book.zipback tobook.epub.
The mimetype file must be the first entry in the ZIP and must be uncompressed — this is part of the EPUB spec and some validators check for it.
Why the cover doesn't show up on some devices
- Wrong manifest ID reference: the
contentattribute of the EPUB 2 meta tag must match theidof the manifest item exactly (case-sensitive). - Missing cover page: some readers expect a cover XHTML page in addition to the image. Add a simple
cover.xhtmlthat displays the cover image and mark it withepub:type="cover"in the spine. - Image format issue: convert PNG covers to JPEG for maximum compatibility on older devices.
- Cached metadata: Calibre and some e-readers cache cover thumbnails. If you replaced the cover and still see the old one, right-click → Remove books from library → re-add.
toolkit.bot automatically detects and preserves cover images from PDFs. Then add or adjust the cover in Calibre if needed.