Why Is My EPUB So Large? How to Reduce EPUB File Size
A typical text-only EPUB should be under 1 MB. If your EPUB is 20, 50, or 100 MB, something is wrong — usually unoptimized images, large embedded fonts, or inefficient PDF conversion that carried over rasterized content. Here's how to diagnose and fix it.
Why EPUBs Become Large
- High-resolution images: The most common cause. If your PDF had full-resolution figures, diagrams, or photos, these are extracted and embedded in the EPUB at original size. A single 300 DPI print-quality image can be 5–15 MB.
- Rasterized pages: Some PDF converters can't extract text and instead rasterize each page as an image. The EPUB ends up as a series of images — essentially a scanned PDF repackaged. Huge file, unsearchable, no text reflow.
- Embedded fonts: Large custom font families can add 1–5 MB each. An EPUB with 5 embedded fonts may carry 15 MB of font data.
- Duplicate images: Bad converters sometimes embed the same image multiple times or include both the original and a thumbnail.
How to Check What's Inside Your EPUB
An EPUB is a ZIP file. Rename it from .epub to .zip and extract it. The largest files in the OEBPS/ or EPUB/ folder are your problem items — typically in images/ or fonts/.
# On Mac/Linux: cp book.epub book.zip unzip book.zip -d book-contents du -sh book-contents/EPUB/images/* # see which images are large du -sh book-contents/EPUB/fonts/* # see font sizes
Method 1: Compress Images with Calibre
- Open Calibre, add your .epub.
- Right-click → Convert books → Convert individually.
- Under Comic Options, check "No processing" is off.
- Under Look & Feel → Layout, set image compression to your preferred level.
- Alternatively, use the Polish books feature (right-click → Polish books) — it recompresses images and removes unused files without changing content.
Method 2: Compress Images Manually
Extract the EPUB (rename to .zip, unzip). Run images through an optimizer:
# Install: brew install jpegoptim optipng (Mac) or apt-get (Linux) jpegoptim --max=85 book-contents/EPUB/images/*.jpg optipng -o5 book-contents/EPUB/images/*.png # Repack to EPUB cd book-contents zip -X ../book-optimized.epub mimetype zip -rg ../book-optimized.epub . -x mimetype
Method 3: Remove Embedded Fonts
In Calibre's Convert dialog → Look & Feel → check Remove all embedded fonts. This replaces the EPUB's fonts with the reader's system fonts. Appropriate if the custom fonts aren't essential to the reading experience (e.g., body text fonts on a technical document).
What If the EPUB Contains Rasterized Pages?
If your PDF-to-EPUB conversion produced rasterized page images (common with Calibre on complex PDFs), the fix is to reconvert using a better tool. toolkit.bot performs proper text extraction with layout analysis — the output contains real text, not page images. File sizes are typically 95–99% smaller than rasterized conversions.
Go to toolkit.bot/pdf2epub, upload your PDF, and download a properly-converted EPUB with real text.
Target File Sizes
- Text-only books (novels, reports): 50–500 KB
- Text with a few diagrams: 500 KB–3 MB
- Image-heavy books (textbooks, illustrated): 3–20 MB
- Over 50 MB: Almost always contains rasterized pages or unoptimized images — worth reconverting
Getting a large, image-heavy EPUB from your PDF? toolkit.bot extracts real text for a clean, lightweight EPUB.
Convert PDF to EPUB →