Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Compress with zopfli grunt task
Branch: master
Failed to load latest commit information.
tasks Code style.
test some fixes & add tests
.gitignore add gitignore
.jshintrc Rewrite plugin
.npmignore add npmignore
.travis.yml Remove 0.8 support
Gruntfile.js some fixes & add tests
LICENSE Initial commit Mention the influence of UV_THREADPOOL_SIZE.
package.json 0.5.0


Compress your files with zopfli without installing anything.

Build Status Dependency Status


npm install grunt-zopfli-native --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:



Task targets, files and options may be specified according to the grunt Configuring tasks guide.


mode String

Choose an output format, you can choose between gzip, zlib or deflate. Defaults to gzip.

 zopfli({ format: 'zlib' })

extension String

Forces an extension to your files. Defaults depends on the mode chosen.

 zopfli({ format: 'zlib' })

limit Number

Limit on the number of files compressed in parallel. Defaults to the number of CPUs on the host (as per the os module).

Setting this limit greater than UV_THREADPOOL_SIZE (defaults to 4) won't really work as desired. Increasing UV_THREADPOOL_SIZE is a good idea if needed. (e.g. UV_THREADPOOL_SIZE=10 grunt zopfli)

 zopfli({ limit: 1 })

zopfliOptions Object

Options object to pass through to node-zopfli. See node-zopfli documentation for more information.

    verbose: false,
    verbose_more: false,
    numiterations: 15,
    blocksplitting: true,
    blocksplittinglast: false,
    blocksplittingmax: 15


Make a gzip file

zopfli: {
  main: {
    files: [
      {src: ['path/*'], dest: 'gzipped_files/', filter: 'isFile'}

Compress your files for production

zopfli: {
  main: {
    expand: true,
    cwd: 'assets/',
    src: ['**/*'],
    dest: 'public/'
Something went wrong with that request. Please try again.