LinuxCommandLibrary

imagemin

TLDR

Compress images in place

$ imagemin [images/*] --out-dir=[images]
copy
Compress to different directory
$ imagemin [src/images/*] --out-dir=[dist/images]
copy
Use specific plugin
$ imagemin [images/*] --plugin=pngquant --out-dir=[output]
copy
Set quality
$ imagemin [images/*] --plugin.mozjpeg.quality=80 --out-dir=[output]
copy

SYNOPSIS

imagemin [options] files

DESCRIPTION

imagemin is an image optimization tool. It compresses PNG, JPEG, GIF, and SVG images using various plugins while maintaining visual quality.
It's commonly used in build pipelines to reduce image file sizes for web applications, improving load times without noticeable quality loss.

PARAMETERS

--out-dir, -o dir

Output directory.
--plugin name
Use specific plugin.
--plugin.name.option
Plugin option.

PLUGINS

$ imagemin-mozjpeg     JPEG optimization
imagemin-pngquant    PNG optimization
imagemin-gifsicle    GIF optimization
imagemin-svgo        SVG optimization
imagemin-webp        WebP conversion
copy

NODE.JS USAGE

$ const imagemin = require('imagemin');
const mozjpeg = require('imagemin-mozjpeg');

await imagemin(['images/*.jpg'], {
  destination: 'dist/images',
  plugins: [mozjpeg({quality: 75})]
});
copy

CAVEATS

Requires Node.js. Plugins installed separately. Lossy compression reduces quality. Original files overwritten with same out-dir.

HISTORY

imagemin was created as a Node.js-based image optimization toolkit. It provides a unified interface for various image compression algorithms, popular in web development workflows.

SEE ALSO

optipng(1), jpegoptim(1), svgo(1)

Copied to clipboard