
Images in ebooks can be surprisingly large. A single full-page illustration in a novel or a diagram in a technical book can easily outweigh the entire text of the book itself. On an e-reader with limited storage and a slow processor, bloated images translate directly to sluggish page turns and wasted space. Here’s how to optimize them without losing quality.
Why image optimization matters
E-readers aren’t smartphones. A Kindle Paperwhite has 16 GB of storage and a processor roughly equivalent to a budget phone from 2015. Every megabyte of image data has to be decoded, scaled, and rendered on a screen technology that refreshes in hundreds of milliseconds rather than the sub-10ms of a phone display. Large images cause three problems:
| Issue | Impact |
|---|---|
| Large file size | Slower page turns (the renderer has to decode the full image before displaying it), more storage consumed, longer sync times over Whispernet or Wi-Fi |
| Wrong resolution | E-readers display images at their native screen resolution. A 4000-pixel-wide photo gets downscaled by the device’s firmware, often with poor nearest-neighbor algorithms that produce aliasing artifacts |
| Wrong format | Some formats (PNG-24, BMP, uncompressed TIFF) carry color data that a grayscale e-ink screen throws away during rendering — but not before the entire file is loaded into memory |
| Too many colors | A 24-bit color PNG on a 16-level grayscale Kindle wastes roughly 99% of its color information. The file is physically larger for zero visual benefit |
The goal is to make images exactly as large as they need to be for the target display and no larger. For most e-readers, that means grayscale JPEG at screen-native resolution.
Recommended image specs
These are the maximum image widths for common e-readers. Sending an image wider than this achieves nothing — the device will downscale it, often badly.
| E-Reader Type | Max Width | Best Format | Color Depth |
|---|---|---|---|
| Kindle Paperwhite | 1072px | JPEG / PNG-8 | Grayscale |
| Kindle Scribe | 1404px | JPEG / PNG-8 | Grayscale |
| Kobo Libra Colour | 1264px | JPEG | 16-bit color |
| Kobo Clara BW | 1072px | JPEG / PNG-8 | Grayscale |
| BOOX Tab Ultra | 1404px | PNG / JPEG | Full color |
| PocketBook Era | 1072px | JPEG | Grayscale |
Two things to note. First, color e-readers (Kobo Libra Colour, BOOX Tab Ultra, PocketBook Era Color) can display color images, so there’s no need to grayscale them — but you should still resize to native width. Second, height isn’t a strict limit because e-readers scroll, but if you’re making a full-page image (like a map or diagram), match the height too: 1448px for Paperwhite, 1872px for Scribe.
PNG vs. JPEG on e-ink: a format guide
This is the single most impactful decision in e-reader image optimization, and most people get it wrong.
JPEG is ideal for photographs, gradients, and any image with smooth tonal transitions. At 80% quality, a grayscale JPEG is visually indistinguishable from a lossless PNG on a 300 ppi e-ink screen — the screen’s limited contrast ratio masks compression artifacts. JPEGs are also 3–5× smaller than equivalent PNGs.
PNG-8 (256-color indexed PNG) is the best choice for diagrams, charts, screenshots, and anything with sharp edges and flat color areas. JPEG’s compression creates ringing artifacts around text and hard lines, which are visible even on e-ink. PNG-8 avoids this while staying compact.
PNG-24 is almost never the right choice for e-readers. It stores full RGB data per pixel, which is wasted on grayscale screens, and it produces files 3–10× larger than equivalent JPEGs.
WebP is promising but poorly supported. Some Kindle firmware versions handle it; others silently skip the image. Don’t use WebP in ebooks unless you’ve tested on your specific device.
| Format | Use Case | File Size | E-Reader Support |
|---|---|---|---|
| JPEG | Photos, gradients | Small | Universal |
| PNG-8 | Diagrams, screenshots | Medium | Universal |
| PNG-24 | High-quality images | Large | Universal (wastes space) |
| GIF | Simple animations | Small | Kobo only |
| WebP | Modern format | Very small | Patchy, avoid |
Step-by-step: resizing, dithering, and converting
Using Calibre
This is the easiest method and covers 90% of use cases:
- Open Calibre → Preferences → Conversion → Common Options
- In the Images tab:
- Set Max Image Width to 1072 (or your device’s native width — see table above)
- Disable “Use Lossless Compression” for smaller files
- Enable “Remove margins from images”
- Apply these settings when converting books. Calibre will automatically resize and recompress every image in the book.
Calibre’s built-in image processor uses JPEG compression by default. For diagrams that need PNG-8, you’ll need to pre-process those images manually before adding them to the ebook.
Using ImageMagick (command line)
ImageMagick gives you pixel-level control and is ideal for batch processing:
# Resize all images to 1072px wide, maintaining aspect ratio
mogrify -resize 1072x *.jpg
# Convert to grayscale (skip for color e-reader images)
mogrify -colorspace Gray *.jpg
# Reduce JPEG quality to 80% — visually lossless on e-ink
mogrify -quality 80 *.jpg
# For PNG diagrams: convert to PNG-8 with dithering
mogrify -colors 256 +dither -type Palette *.png
The +dither flag is important. On e-ink, ordered dithering patterns can interact with the screen’s refresh ghosting and create visible artifacts. Disabling dithering gives flat color areas that render cleanly. For photographs, keep dithering on (-dither without the +).
Using online tools
If command lines aren’t your thing:
- TinyPNG / TinyJPG — drag-and-drop compression for PNG and JPEG. Reduces PNG-24 to PNG-8 automatically. Free for batches of up to 20 images.
- Squoosh (squoosh.app) — Google’s browser-based tool with live side-by-side preview. Resize, change format, adjust quality, and see the result before downloading. Works offline once loaded.
- EZGif — handles animated GIFs for Kobo ebooks. Resize and optimize frame-by-frame.
Manual steps for a stubborn image
Sometimes one image in a batch refuses to compress. Here’s a manual workflow for a photograph going into a Kindle book:
- Open the image in any editor (GIMP, Photoshop, Preview on Mac).
- Resize to 1072px wide. Let the height scale proportionally.
- Convert the color mode to grayscale (Image → Mode → Grayscale).
- Export as JPEG at 80% quality, baseline (not progressive — progressive JPEGs confuse some Kindle firmware).
- Check the file size. A full-page image at 1072×1448 should be 100–250 KB. If it’s over 500 KB, drop quality to 70%.
Batch processing
If you’re preparing a book with dozens of images (a technical manual, a recipe book, a photo-heavy travelogue), batch processing saves hours:
ImageMagick one-liner:
mkdir optimized
for f in *.jpg; do
convert "$f" -resize 1072x -colorspace Gray -quality 80 "optimized/$f"
done
Calibre plugin method: Install the Quality Check plugin from Calibre’s plugin manager. It scans your library for books with oversized images and flags them. Combined with Calibre’s built-in conversion settings, this catches bulk problems across an entire library.
Per-device recommendations
Kindle (Paperwhite, Oasis, Basic): Grayscale JPEG at 80% quality, 1072px wide. PNG-8 for diagrams. Avoid progressive JPEGs. The Kindle Personal Documents Service (Send to Kindle) applies its own compression, but pre-optimizing your images still produces better results because you control the resize algorithm.
Kindle Scribe: Grayscale JPEG at 1404px wide. The larger screen means you can get away with 85–90% quality without visible artifacts. If your ebook includes full-page PDF-style content, optimize each page as if it were an image.
Kobo (Libra Colour, Clara BW): JPEG works universally. The Libra Colour benefits from keeping color information — don’t grayscale those images. Kobo’s EPUB renderer handles PNG-24 better than Kindle’s, but the file size penalty remains.
BOOX (Tab Ultra, Note Air): Since BOOX runs Android with a full-featured image decoder, you have more flexibility. PNG-24 is fine, color is fine, and the faster processor means large images don’t slow page turns as dramatically. That said, optimizing to screen-native resolution is still good practice for keeping ebook file sizes manageable.
reMarkable: This is a different beast. The reMarkable syncs PDFs and uses its own image pipeline. For images embedded in PDFs, follow the same resize-to-native-width rule (1404px for the reMarkable 2). Grayscale PNG at screen-native resolution produces the best results — the reMarkable’s display controller does its own dithering and handles PNGs beautifully.
How much space you save
| Original | Optimized | Savings |
|---|---|---|
| 5 MB (full-color PNG-24) | 400 KB (grayscale JPEG) | 92% |
| 2 MB (large JPEG) | 350 KB (resized JPEG) | 82% |
| 500 KB (PNG-24 diagram) | 120 KB (PNG-8) | 76% |
| 10 MB (10-image children’s book) | 1.5 MB (batch processed) | 85% |
In a book with 20 images, the difference can be 100 MB versus 8 MB — the difference between fitting comfortably on a Paperwhite or filling a quarter of its storage. For anyone who sideloads books via Calibre, image optimization isn’t just a nice-to-have. It’s the step that keeps your library from outgrowing your device.