Reduce EPUB File Size

EPUB files get large for two reasons: images and embedded fonts. A novel with a cover and a few interior illustrations is typically 1-5MB. A textbook or comic can hit 50-200MB. Here's how to bring those numbers down without visible quality loss.

Online: Epublys Compressor

  1. Open the EPUB compressor
  2. Upload your file (up to 10MB free, 100MB on Pro)
  3. Set compression level — Medium is the default and the right choice for most files
  4. Enable Optimize images to resize and recompress cover art and illustrations in the browser before upload
  5. Download the compressed file

Typical savings: 30-70% depending on image content. Text-heavy novels see 20-40%; image-heavy books see 50-70%.

Why file size matters

  • Amazon KDP: delivery fees are based on file size — $0.15/MB. A 50MB file costs $7.50 per sale in delivery alone
  • Kindle email delivery: 50MB limit for Send to Kindle via email
  • Apple Books: 2GB limit but large files slow download and hurt conversion
  • Reader storage: older Kindles and Kobos have 4-8GB. A bloated file is a bad reader experience

What actually takes up space

Unzip any EPUB (it's a ZIP file) and sort by size. Almost always:

  1. Cover image — often 2-5MB as a raw PNG. Convert to JPEG at quality 85 and resize to 1600x2560. This alone can cut 60% of file size.
  2. Interior images — screenshots, illustrations, photos. Resize to max 1500px on the longest side. Use JPEG for photos, PNG only for line art.
  3. Embedded fonts — a single font family with bold/italic variants can add 500KB-2MB. Only embed fonts you actually use in CSS. Strip the rest with the compressor's strip unused assets option.

Desktop: Calibre

Calibre doesn't have a dedicated compressor, but you can re-export with lower-quality images:

  1. Convert the EPUB to EPUB (yes, same format)
  2. In the conversion dialog, go to Look & Feel → Transform images
  3. Check "Resize images to" and set max width/height to 1500
  4. Enable "Compress images" if available in your version

This approach is imprecise — it can also strip CSS or restructure the EPUB in ways you didn't intend.

Command line: strip and recompress

# Unzip, recompress images with ImageMagick, repack
mkdir epub_temp && cd epub_temp
unzip ../book.epub
find . -name "*.png" -exec convert {} -resize 1500x1500\> -quality 85 {} \;
find . -name "*.jpg" -exec convert {} -resize 1500x1500\> -quality 85 {} \;
zip -X0 ../book_small.epub mimetype
zip -X9Dr ../book_small.epub . -x mimetype

The mimetype file must be first in the archive and uncompressed (-X0). The rest uses max compression (-X9). Always validate the result.

Related

Shrink your EPUB now

Drop your file and get a smaller EPUB back in seconds — text re-compressed, images and fonts kept as-is.

Compress EPUB Files →

Found this helpful? Share it