Socket
Socket
Sign inDemoInstall

imagemin-webp

Package Overview
Dependencies
3
Maintainers
6
Versions
20
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

imagemin-webp

WebP imagemin plugin


Version published
Maintainers
6
Created

Package description

What is imagemin-webp?

The imagemin-webp npm package is a plugin for the imagemin image optimization tool that allows you to convert images to the WebP format. WebP is a modern image format that provides superior lossless and lossy compression for images on the web. This package helps in reducing the file size of images while maintaining quality, which can improve website performance.

What are imagemin-webp's main functionalities?

Convert images to WebP format

This feature allows you to convert images from formats like JPEG and PNG to WebP. The code sample demonstrates how to use imagemin-webp to convert all JPEG and PNG images in the 'images' directory to WebP format with a quality setting of 50, and save them in the 'output' directory.

const imagemin = require('imagemin');
const imageminWebp = require('imagemin-webp');

(async () => {
    await imagemin(['images/*.{jpg,png}'], {
        destination: 'output',
        plugins: [
            imageminWebp({ quality: 50 })
        ]
    });
    console.log('Images converted to WebP format');
})();

Lossless conversion

This feature allows you to convert images to WebP format using lossless compression. The code sample shows how to convert images in the 'images' directory to WebP format with lossless compression and save them in the 'output' directory.

const imagemin = require('imagemin');
const imageminWebp = require('imagemin-webp');

(async () => {
    await imagemin(['images/*.{jpg,png}'], {
        destination: 'output',
        plugins: [
            imageminWebp({ lossless: true })
        ]
    });
    console.log('Images converted to WebP format with lossless compression');
})();

Resize images during conversion

This feature allows you to resize images while converting them to WebP format. The code sample demonstrates how to resize images to 800x600 pixels during the conversion process and save them in the 'output' directory.

const imagemin = require('imagemin');
const imageminWebp = require('imagemin-webp');

(async () => {
    await imagemin(['images/*.{jpg,png}'], {
        destination: 'output',
        plugins: [
            imageminWebp({ resize: { width: 800, height: 600 } })
        ]
    });
    console.log('Images resized and converted to WebP format');
})();

Other packages similar to imagemin-webp

Readme

Source

imagemin-webp GitHub Actions Status

WebP imagemin plugin

Install

npm install imagemin-webp

Usage

import imagemin from 'imagemin';
import imageminWebp from 'imagemin-webp';

await imagemin(['images/*.{jpg,png}'], {
	destination: 'build/images',
	plugins: [
		imageminWebp({quality: 50})
	]
});

console.log('Images optimized');

API

imageminWebp(options?)(buffer)

Returns a Promise<Buffer> with the optimized image.

options

Type: object

preset

Type: string
Default: default

Preset setting, one of default, photo, picture, drawing, icon and text.

quality

Type: number
Default: 75

Set quality factor between 0 and 100.

alphaQuality

Type: number
Default: 100

Set transparency-compression quality between 0 and 100.

method

Type: number
Default: 4

Specify the compression method to use, between 0 (fastest) and 6 (slowest). This parameter controls the trade off between encoding speed and the compressed file size and quality.

size

Type: number

Set target size in bytes.

sns

Type: number
Default: 50

Set the amplitude of spatial noise shaping between 0 and 100.

filter

Type: number

Set deblocking filter strength between 0 (off) and 100.

autoFilter

Type: boolean
Default: false

Adjust filter strength automatically.

sharpness

Type: number
Default: 0

Set filter sharpness between 0 (sharpest) and 7 (least sharp).

lossless

Type: boolean | number
Default: false

Encode images losslessly. If set to a number, activates lossless preset with given level between 0 (fastest, larger files) and 9 (slowest, smaller files).

nearLossless

Type: number
Default: 100

Encode losslessly with an additional lossy pre-processing step, with a quality factor between 0 (maximum pre-processing) and 100 (same as lossless).

crop

Type: object { x: number, y: number, width: number, height: number }

Crop the image.

resize

Type: object { width: number, height: number }

Resize the image. Happens after crop.

metadata

Type: string | string[]
Default: none
Values: all none exif icc xmp

A list of metadata to copy from the input to the output if present.

buffer

Type: Buffer

Buffer to optimize.

Keywords

FAQs

Package last updated on 27 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc