Skip to content

Image Optimization

September 29, 2023
August 4, 2016

image-formats

18 image file compression tools tested | Creative Bloq
Comparison of all optimisation tools | ImageOptim-CLI

ImageOptim — better Save for Web
ImageOptim alternatives for Windows and Linux
JamieMason/ImageOptim-CLI: Make optimisation of images part of your automated build process

Trimage (lossless) image compressor advpng, jpegoptim, optipng and pngcrush
ImageOptim-inspired, with CLI, much slower and worse compression than @leesei/imgmini

图压 - 简单易用的图片压缩软件

Caesium - Image Compressor
Antelope 5.2.0.0 for Windows - Download

BPG Image format H.265
A new image format for the Web | WebP | Google Developers

toy/image_optim: Optimize images using multiple utilities Ruby
spatie/image-optimizer: Easily optimize images using PHP PHP, saving not prominent
Image Compression with Golang - DEV Community Go, libvips
siiptuo/pio: Optimize images while maintaining the same perceived quality Rust
imager-io/imager: Automated image compression for efficiently distributing images on the web. Rust/Docker

unjs/ipx: High performance, secure and easy to use image proxy based on Sharp and libvips. web server

JPNG.svg (Transparent PNG with JPEG Compression)

JPEG

The Problem with JPEG - Computerphile - YouTube

Comparison of JPEG Lossless Compression Tools - blarg.co.uk

mozilla/mozjpeg: Improved JPEG encoder.

Lepton image compression: saving 22% losslessly from images at 15MB/s | Dropbox Tech Blog

The home of PackJPG

jpegoptim -P -p --all-progressive -s -m 90 --no-action

PNG

A guide to PNG optimization
This Lossless PNG Optimization You're Probably Not Using Shrunk One File an Extra 39% - Zoompf Web Performance

pngquant — lossy PNG compressor fast, ~70%

PNGGauntlet Combines PNGOUT, OptiPNG, and DeflOpt to create the smallest PNGs
PNGOUT Tutorial very slow, ~85%
pngout pngout.png -k0 out.png

OptiPNG Home Page
optipng -preserve -strip all -simulate <file> default compression is fair enough, ~0%
DeflOpt Program: Optimize Compressed Files
TinyPNG – Compress PNG images while preserving transparency use indexed (color palette)
PNGCRUSH very slow, ~10% to larger file ><
pingo
Advance Projects advpng, uses zopflipng, larger file ><

zopflipng

SVG

High Performance SVGs | CSS-Tricks
svg/svgo: Node.js tool for optimizing SVG files
svg/svgo-gui: Node-WebKit based GUI for SVGO

SVGOMG - SVGO's Missing GUI with live feedback
SVGito - An SVG Optimizer — Sketch Master

Case Study: Optimizing SVG Text & Image Delivery with Inline SVG – Sara Soueidan, inclusive design engineer
Web Performance Calendar » Tips For Optimising SVG Delivery For The Web

imagemin

imagemin provides prebuilt native binaries

imagemin not actively maintained, dependencies are old
imagemin/imagemin-cli: Minify images seamlessly
imagemin/imagemin: Minify images seamlessly
1000ch/gulp-image: Optimize PNG, JPEG, GIF, SVG images with gulp task. uses imagemin binaries

npm i -g imagemin-cli imagemin-mozjpeg imagemin-pngcrush imagemin-pngquant
imagemin --plugin=pngcrush --plugin=pngquant --plugin=mozjpeg --plugin=gifsicle --plugin=svgo "images/**" "outdir"

imgmini - npm gulp-image contains all the binaries, provides intuitive reporting interface

[12:08:28] ✔ css-mctn_hdr_home.png -> before=130 kB after=45 kB reduced=84.8 kB (65.3%)
[12:08:29] ✔ css-mfrm_hdr_home.png -> before=181 kB after=62.1 kB reduced=119 kB (65.8%)
[12:08:36] ✔ frbg_eq22_23_home_s1_M.png -> before=720 kB after=232 kB reduced=488 kB (67.8%)
[12:08:42] ✔ frbg_eq22_23_home_s1_T.png -> before=900 kB after=262 kB reduced=638 kB (70.9%)
[12:08:42] ✔ frbg_eq22_23_home_s1_H.png -> before=900 kB after=262 kB reduced=638 kB (70.9%)

Asikur22/npm-imgmini: Image Minify with Gulp Image. CLI wrapper for gulp-image

npm i -g @leesei/imgmini
find <folder> -type f | xargs -P$(nproc) -- imgmini -s
// options for `gulp-image`
{
  pngquant: true,
  optipng: false,
  zopflipng: true,
  jpegRecompress: false,
  mozjpeg: true,
  guetzli: false,
  gifsicle: true,
  svgo: true,
  concurrent: 10,
  quiet: false, // defaults to false
}

wuwu8ku/imgminify: imgminify bundled binaries, custom wrapper
robinLiu1989/webpack-imgmini: a image compress use webpack

Yuriy-Svetlov/compress-images: Minify size your images. Image compression with extension: jpg/jpeg, svg, png, gif. NodeJs

Squoosh

WebAssembly

GoogleChromeLabs/squoosh: Make images smaller using best-in-class codecs, right in the browser.

Introducing libSquoosh
@squoosh/lib - npm
@squoosh/cli - npm

jamsinclair/jSquash: Browser & V8 Runtime focussed wasm bundles derived from the Squoosh App.


Cloudinary

Image Optimization for Websites: Beautiful Pages That Load Quickly
CDN for Images: Optimize and Deliver Images Faster
Get started with Cloudinary Media Optimizer | Cloudinary

Compress an Image Automatically Without Losing Quality compression ratio
Automatically Reduce Image Size Without Losing Quality format
Match Device Pixel Ratio by Automatically Adapting Images resolution

Cloudinary for WordPress Plugin for Images and Video

imgproxy

imgproxy documentation

Self host with Docker
darthsim/imgproxy - Docker Image | Docker Hub
imgproxy/imgproxy: Fast and secure standalone server for resizing and converting remote images
How To Serve Next-Generation Images With imgproxy Using Docker | DigitalOcean

Web Service

Compressor.io - optimize and compress JPEG photos and PNG images 10MB limit
Free Online Image Optimizer · Kraken.io 1MB limit
Online Image Сompressor ? limit
TinyPNG – Compress PNG images while preserving transparency 5MB limit, create indexed PNG, PNG only