Smaller files. Better quality.
Four format engines, smart compression that adapts to resolution, and a cloud pipeline that processes images in seconds. No separate image plugin needed.
Tested with 3 Unsplash JPEGs (2400px, 2.7MB total) at max lossy settings per plugin.
Two processing modes
Local optimization runs on your server. Cloud optimization uses our dedicated pipeline for next-generation formats and smart compression.
Local
Runs on your server using PHP GD or Imagick. Handles basic JPEG/PNG compression, lazy loading, and dimension attributes.
- JPEG/PNG compression via server libraries
- Lazy loading with native loading="lazy"
- Missing width/height attributes added
- WebP conversion if server supports it
Cloud
Images are sent to our dedicated optimizer running Sharp 0.34, cjpegli, and cjxl binaries. BullMQ queue with Redis handles concurrency.
- cjpegli for JPEG (Google's encoder)
- Sharp for WebP and AVIF
- cjxl binary for JPEG XL
- Smart compression based on resolution
- Background queue with WP-Cron polling
Four format engines
Each format uses a different compression engine optimized for that codec.
JPEG (cjpegli)
79.4% savingsGoogle's next-generation JPEG encoder. Produces smaller files than MozJPEG at the same visual quality. Falls back to Sharp libjpeg-turbo for compatibility.
WebP
84.3% savingsThe modern standard for web images. 20-30% smaller than JPEG at equivalent quality. Auto-served to browsers that support it via <picture> tags.
AVIF
91.7% savingsAV1-based image format with dramatic compression gains. We use effort level 4 (not 9) to keep encoding under 5 seconds per image while maintaining quality.
JPEG XL
55.9% savingsNext-generation format with lossless JPEG recompression. Encoded via the reference cjxl binary since Sharp cannot output JXL. Currently Chrome-only behind a flag.
Quality adapts to resolution
Large images tolerate more compression without visible quality loss. Smart compression exploits this automatically.
| Resolution | Quality Offset | Floor |
|---|---|---|
| > 8 MP | -25 quality | min q45 |
| > 4 MP | -20 quality | min q50 |
| > 2 MP | -15 quality | min q55 |
| > 1 MP | -10 quality | min q60 |
| < 1 MP | No offset | User quality |
Format-specific offsets
| Format | Offset | Floor |
|---|---|---|
| AVIF | -30 from base | min q35 |
| WebP | -20 from base | min q40 |
| JPEG (cjpegli) | -15 from base | min q40 |
Example: A 2400px hero image (3.84 MP) at user quality 75 with AVIF output: base 75 - 15 (resolution) - 30 (AVIF offset) = q30, floored to min q35.
WebP savings vs competitors
Same 3 test images, same max lossy settings, each plugin's cloud API.
Try the image engine
Local compression, lazy loading, cloud cjpegli, AVIF, JXL, and smart compression — all built into one plugin.
