imagemin

Minify images

imagemin

Minify images seamlessly

$ npm install --save imagemin
var Imagemin = require('imagemin');
 
new Imagemin()
    .src('images/*.{gif,jpg,png,svg}')
    .dest('build/images')
    .use(Imagemin.jpegtran({progressive: true}));
    .run(function (errfiles) {
        console.log(files[0]);
        // => {path: 'build/images/foo.jpg', contents: <Buffer 89 50 4e ...>} 
    });

You can use gulp-rename to rename your files:

var Imagemin = require('imagemin');
var rename = require('gulp-rename');
 
new Imagemin()
    .src('images/foo.png')
    .use(rename('bar.png'));

Creates a new Imagemin instance.

Type: array, buffer or string

Set the files to be optimized. Takes a buffer, glob string or an array of glob strings as argument.

Type: string

Set the destination folder to where your files will be written. If you don't set any destination no files will be written.

Type: function

Add a plugin to the middleware stack.

Type: function

Optimize your files with the given settings.

The callback will return an array of vinyl files in files.

The following plugins are bundled with imagemin:

  • gifsicle — Compress GIF images.
  • jpegtran — Compress JPG images.
  • optipng — Compress PNG images losslessly.
  • svgo — Compress SVG images.

Compress GIF images.

var Imagemin = require('imagemin');
 
new Imagemin()
    .use(Imagemin.gifsicle({interlaced: true}));

Compress JPG images.

var Imagemin = require('imagemin');
 
new Imagemin()
    .use(Imagemin.jpegtran({progressive: true}));

Lossless compression of PNG images.

var Imagemin = require('imagemin');
 
new Imagemin()
    .use(Imagemin.optipng({optimizationLevel: 3}));

Compress SVG images.

var Imagemin = require('imagemin');
 
new Imagemin()
    .use(Imagemin.svgo());
$ npm install --global imagemin
$ imagemin --help
 
  Usage
    $ imagemin <file> <directory>
    $ imagemin <directory> <output>
    $ imagemin <file> > <output>
    $ cat <file> | imagemin > <output>
 
  Example
    $ imagemin images/* build
    $ imagemin images build
    $ imagemin foo.png > foo-optimized.png
    $ cat foo.png | imagemin > foo-optimized.png
 
  Options
    -i, --interlaced                    Interlace gif for progressive rendering
    -o, --optimizationLevel <number>    Optimization level between 0 and 7
    -p, --progressive                   Lossless conversion to progressive

MIT © imagemin