Skip to content
Laravel Elixir wrapper for ImageMin
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is a simple imagemin wrapper around Laravel Elixir. Add it to your Elixir-enhanced Gulpfile, like so:


npm install --save-dev laravel-elixir-imagemin


Example Gulpfile:

var elixir = require('laravel-elixir');


elixir(function(mix) {

This will scan your resources/assets/images directory for all image files.

Changing the default image directories

If you want to process a different image directory, you can update your Elixir config by either:

Defining elixir.config.images in your Gulpfile

You can define elixir.config.images in your gulpfile.js like so:

var elixir = require('laravel-elixir');


elixir.config.images = {
    folder: 'img',
    outputFolder: 'img'

elixir(function(mix) {

Setting config.images in an elixir.json file

You can create an elixir.json file in your project root to modify Elixir's default settings.

    "images": {
        "folder": "img",
        "outputFolder": "img"

Upgrading from the old syntax

If you're upgrading from the old syntax, where you defined custom directories like so:

mix.imagemin("./resources/assets/img", "public/images/foo/bar/");

All you have to do is:

Note: You don't define the full path anymore. Instead of resources/assets/img you simply use img, because laravel-elixir-imagemin will look inside your assets and public directories (or whatever else you may have configured).

Custom imagemin options

You can override the default imagemin options by passing in an options object like so:

    optimizationLevel: 3,
    progressive: true,
    interlaced: true

Available imagemin options are listed here in the gulp-imagemin readme.

You can’t perform that action at this time.