Your company here — click to reach over 10,000 unique daily visitors

img2webp - Man Page

create animated WebP file from a sequence of input images.


img2webp [file_options] [[frame_options] frame_file]... [-o webp_file]
img2webp argument_file_name


This manual page documents the img2webp command.

img2webp compresses a sequence of images using the animated WebP format. Input images can either be PNG, JPEG, TIFF or WebP. If a single file name (not starting with the character '-') is supplied as the argument, the command line arguments are actually tokenized from this file. This allows for easy scripting or using a large number of arguments.

File-Level Options

The file-level options are applied at the beginning of the compression process, before the input frames are read.

-o string

Specify the name of the output WebP file.


Encode images to achieve smallest size. This disables key frame insertion and picks the parameters resulting in the smallest output for each frame. It uses lossless compression by default, but can be combined with -q, -m, -lossy or -mixed options.

-kmin int
-kmax int

Specify the minimum and maximum distance between consecutive key frames (independently decodable frames) in the output animation. The tool will insert some key frames into the output animation as needed so that this criteria is satisfied.
-mixed Mixed compression mode: optimize compression of the image by picking either lossy or lossless compression for each frame heuristically. This global option disables the local option -lossy and -lossless .

-near_lossless int

Specify the level of near-lossless image preprocessing. This option adjusts pixel values to help compressibility, but has minimal impact on the visual quality. It triggers lossless compression mode automatically. The range is 0 (maximum preprocessing) to 100 (no preprocessing, the default). The typical value is around 60. Note that lossy with -q 100 can at times yield better results.


Use more accurate and sharper RGB->YUV conversion if needed. Note that this process is slower than the default 'fast' RGB->YUV conversion.

-loop int

Specifies the number of times the animation should loop. Using '0' means 'loop indefinitely'.


Be more verbose.

-h,  -help

A short usage summary.


Print the version numbers of the relevant libraries used.

Per-Frame Options

The per-frame options are applied for the images following as arguments in the command line. They can be modified any number of times preceding each particular input image.

-d int

Specify the image duration in milliseconds.

-lossless,  -lossy

Compress the next image(s) using lossless or lossy compression mode. The default mode is lossless.

-q float

Specify the compression factor between 0 and 100. The default is 75.

-m int

Specify the compression method to use. This parameter controls the trade off between encoding speed and the compressed file size and quality. Possible values range from 0 to 6. Default value is 4.


img2webp -loop 2 in0.png -lossy in1.jpg -d 80 in2.tiff -o out.webp


Please report all bugs to the issue tracker: https://bugs.chromium.org/p/webp
Patches welcome! See this page to get started: https://www.webmproject.org/code/contribute/submitting-patches/


img2webp is a part of libwebp and was written by the WebP team.
The latest source tree is available at https://chromium.googlesource.com/webm/libwebp

This manual page was written by Pascal Massimino <pascal.massimino@gmail.com>, for the Debian project (and may be used by others).

See Also

webpmux(1), gif2webp(1)
Please refer to https://developers.google.com/speed/webp/ for additional information.


March 17, 2023