Image Format Support
- imagemin-svgo:
imagemin-svgo
targets SVG files, optimizing vector graphics by reducing their file size without losing scalability or quality. - imagemin-gifsicle:
imagemin-gifsicle
specializes in GIF format, making it the go-to choice for optimizing GIF images, both animated and static. - imagemin-pngquant:
imagemin-pngquant
is designed for PNG images, utilizing lossy compression to reduce file sizes while maintaining transparency and image quality. - imagemin-mozjpeg:
imagemin-mozjpeg
focuses on JPEG images, providing advanced optimization techniques specifically for this format, including support for progressive JPEGs.
Compression Technique
- imagemin-svgo:
imagemin-svgo
optimizes SVG files by applying various transformations and removing unnecessary elements, resulting in a smaller file size without compromising the image's quality or scalability. - imagemin-gifsicle:
imagemin-gifsicle
uses lossless compression techniques tailored for GIFs, ensuring that the quality of the image remains intact while reducing file size. - imagemin-pngquant:
imagemin-pngquant
implements lossy compression for PNGs, which allows for a substantial reduction in file size while preserving the image's visual integrity, especially for images with limited colors. - imagemin-mozjpeg:
imagemin-mozjpeg
employs lossy compression algorithms that significantly reduce JPEG file sizes, with options to control the level of compression and quality.
Use Case
- imagemin-svgo:
Great for web applications that use SVG graphics, where reducing file size can lead to improved performance and faster rendering times.
- imagemin-gifsicle:
Ideal for web projects that use GIFs extensively and need to reduce their loading times without sacrificing animation quality.
- imagemin-pngquant:
Perfect for websites that utilize PNG images, especially those with transparency, and need to minimize file sizes for faster loading times.
- imagemin-mozjpeg:
Best suited for photography websites, e-commerce platforms, and any application where high-quality JPEG images are used and file size reduction is essential.
Example Code
- imagemin-svgo:
Optimize SVGs with
imagemin-svgo
const imagemin = require('imagemin'); const imageminSvgo = require('imagemin-svgo'); (async () => { await imagemin(['images/*.svg'], { destination: 'output/images', plugins: [ imageminSvgo({ plugins: [{ removeViewBox: false }] }) ] }); console.log('SVGs optimized'); })();
- imagemin-gifsicle:
Optimize GIFs with
imagemin-gifsicle
const imagemin = require('imagemin'); const imageminGifsicle = require('imagemin-gifsicle'); (async () => { await imagemin(['images/*.gif'], { destination: 'output/images', plugins: [ imageminGifsicle({ interlaced: true, optimizationLevel: 3 }) ] }); console.log('GIFs optimized'); })();
- imagemin-pngquant:
Optimize PNGs with
imagemin-pngquant
const imagemin = require('imagemin'); const imageminPngquant = require('imagemin-pngquant'); (async () => { await imagemin(['images/*.png'], { destination: 'output/images', plugins: [ imageminPngquant({ quality: [0.6, 0.8] }) ] }); console.log('PNGs optimized'); })();
- imagemin-mozjpeg:
Optimize JPEGs with
imagemin-mozjpeg
const imagemin = require('imagemin'); const imageminMozjpeg = require('imagemin-mozjpeg'); (async () => { await imagemin(['images/*.jpg'], { destination: 'output/images', plugins: [ imageminMozjpeg({ quality: 75, progressive: true }) ] }); console.log('JPEGs optimized'); })();