Skip to content
Minify PNG, JPG, GIF and SVG images.
Branch: master
Clone or download
Latest commit ea0548b Nov 5, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
test Add XO and AVA (#378) Jun 17, 2017
.editorconfig Update .editorconfig to match the current state. Oct 14, 2018
authors Add XO and AVA (#378) Jun 17, 2017
gruntfile.js Remove unneeded `use strict` statements. Oct 14, 2018

grunt-contrib-imagemin Build Status: Linux Build Status: Windows

Minify images using imagemin


npm install --save-dev grunt-contrib-imagemin


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

    imagemin: {
        static: {
            options: {
                optimizationLevel: 3,
                svgoPlugins: [{removeViewBox: false}],
                use: [mozjpeg()] // Example plugin usage
            files: {
                'dist/img.png': 'src/img.png',
                'dist/img.jpg': 'src/img.jpg',
                'dist/img.gif': 'src/img.gif'
        dynamic: {
            files: [{
                expand: true,
                cwd: 'src/',
                src: ['**/*.{png,jpg,gif}'],
                dest: 'dist/'

grunt.registerTask('default', ['imagemin']);


optimizationLevel (png)

  • Type: number
  • Default: 3

Select optimization level between 0 and 7.

The optimization level 0 enables a set of optimization operations that require minimal effort. There will be no changes to image attributes like bit depth or color type, and no recompression of existing IDAT datastreams. The optimization level 1 enables a single IDAT compression trial. The trial chosen is what OptiPNG thinks it’s probably the most effective. The optimization levels 2 and higher enable multiple IDAT compression trials; the higher the level, the more trials.

Level and trials:

  1. 1 trial
  2. 8 trials
  3. 16 trials
  4. 24 trials
  5. 48 trials
  6. 120 trials
  7. 240 trials

progressive (jpg)

  • Type: boolean
  • Default: true

Lossless conversion to progressive.

interlaced (gif)

  • Type: boolean
  • Default: true

Interlace gif for progressive rendering.

svgoPlugins (svg)

Type: Array

Customize which SVGO plugins to use. More here.


  • Type: Array
  • Default: [imagemin.gifsicle(), imagemin.jpegtran(), imagemin.optipng(), imagemin.svgo()]

Plugins to use with imagemin. It comes bundled with the following lossless optimizers:

These are bundled for convenience and most users will not need anything else.


  • Type: number
  • Default: os.cpus().length

Control the maximum number of image optimizations that may be performed in parallel.


MIT © Sindre Sorhus

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.