imagemin

imagemin compresses PNG, JPEG, and GIF images using imagemin and its plugins.

Note: For new projects, consider using @node-minify/sharp which is more actively maintained and offers better performance.

Installation

npm install @node-minify/core @node-minify/imagemin

Usage

import { readFileSync } from 'node:fs';
import { minify } from '@node-minify/core';
import { imagemin } from '@node-minify/imagemin';

const result = await minify({
  compressor: imagemin,
  content: readFileSync('photo.jpg'),
  options: {
    quality: 80
  }
});

Options

OptionTypeDefaultDescription
qualitynumber80Quality setting for JPEG (0-100)
losslessbooleanfalseUse lossless compression for PNG
effortnumber6Compression effort for pngquant (1-10)
optimizationLevelnumber1Optimization level for gifsicle (1-3)

Included Plugins

  • imagemin-mozjpeg: JPEG compression
  • imagemin-pngquant: PNG compression
  • imagemin-gifsicle: GIF compression

Check all options