Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including grunt-contrib-imagemin with all npm packages installed. Try it out:

grunt-contrib-imagemin lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

// require("grunt-contrib-imagemin/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

grunt-contrib-imagemin v3.1.0

Minify images

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


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free