0.0.1 • Public • Published


    Circle CI npm MIT

    Processes images with ImageMagick to resize and compress them carefully as JPEG or WEBP files.


    gulp-compressedimages requires ImageMagick (tested with ImageMagick 6.9.2) compiled with the jpeg, lcms and webp delegates.

    Verify this via convert -version. If you receive a Stream yields empty buffer error while reading or writing WEBP, most likely your ImageMagick binary was not built with WEBP support.

    Running the pipe will also typically require an sRGB ICC profile downloaded locally to correctly perform the color conversion.


    require('gulp-compressedimages').resampler can be used in the gulp stream to process images.

    // Multiple files to an auto compressed JPEG
    var gulp = require('gulp'),
        photos = require('@redsift/gulp-compressedimages');
    gulp.task('images', function() {
        return gulp.src([ 'photo1.jpg', ... ])
            .pipe(photos.resampler({ size: 200 }))
    // Multiple files to a heavily compressed WebP
    var gulp = require('gulp'),
        photos = require('@redsift/gulp-compressedimages');
    gulp.task('images', function() {
        return gulp.src([ 'photo1.jpg', ... ])
            .pipe(photos.resampler({ size: 200, webp: true, quality: 50 }))

    Usage - Standard Sizes

    require('gulp-compressedimages').common provides a list of standard sizes to generate asset files for common use.

    The common sizes also have small amounts of sharpening built into the pipeline and are best served by processing original assets at original (> 3000 pixels) resolutions.

    var gulp = require('gulp'),
        photos = require('@redsift/gulp-compressedimages'),
        merge = require('merge-stream');
    gulp.task('common', function() {
        var all = photos.common.map(function (o) {
            return gulp.src('photo.jpg')
        return merge.apply(this, all);


    This plugin strips color profiles and comments to reduce image size.

    Colorspace conversion

    As a result of stripping profiles, the image needs to be converted to sRGB. If required, the plugin with change the colorspace with a Perceptual intent.

    Gamma correct scaling

    The scaling operations are done in a linear manner to avoid scaling errors. Reference this article for the issues addressed.


    npm i @redsift/gulp-compressedimages

    DownloadsWeekly Downloads






    Last publish


    • earada
    • njaremek
    • redsift_operations
    • mcolladoredsift
    • raul.lorenzo.redsift
    • rahulpowar
    • randalpinto
    • jordanw7
    • oriol.vives
    • jmiralles
    • nascimj
    • kitty_vandergijp
    • neilsaccardo
    • bmayolasredsift