image-min

Minify GIF, JPEG and PNG images

npm install image-min
2 015 downloads in the last day
9 625 downloads in the last week
44 327 downloads in the last month

image-min Build Status

Minify images seamlessly with Node.js

Install

$ npm install --save image-min

Usage

var Imagemin = require('image-min');

var imagemin = new Imagemin()
    .src('foo.jpg')
    .dest('foo-optimized.jpg')
    .use(Imagemin.jpegtran({ progressive: true }));

imagemin.optimize(function (err, file) {
    console.log(file);
    // => { contents: <Buffer 89 50 4e ...>, mode: '0644' }
});

API

new Imagemin()

Creates a new Imagemin instance.

.use(plugin)

Add a plugin to the middleware stack.

.src(file)

Set the file to be optimized. Can be a Buffer or the path to a file.

.dest(file)

Set the destination to where your file will be written. If you don't set any destination the file won't be written.

.optimize(cb)

Optimize your file with the given settings.

.run(file, cb)

Run all middleware plugins on your file.

Plugins

The follwing plugins are bundled with image-min:

  • gifsicle — Compress GIF images.
  • jpegtran — Compress JPG images.
  • optipng — Lossless compression of PNG images.
  • pngquant — Lossy compression of PNG images.

.gifsicle()

Compress GIF images.

var Imagemin = require('image-min');

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

.jpegtran()

Compress JPG images.

var Imagemin = require('image-min');

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

.optipng()

Lossless compression of PNG images.

var Imagemin = require('image-min');

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

.pngquant()

Lossy compression of PNG images.

var Imagemin = require('image-min');

var imagemin = new Imagemin()
    .use(Imagemin.pngquant());

License

MIT License © Kevin Mårtensson

npm loves you