---
name: "webpmux"
section: "1"
platform: "linux"
package: "libwebp"
version: "1.6.0-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/webpmux"
---

# webpmux(1)

create animated WebP files from non-animated WebP images, extract frames from animated WebP images, and manage XMP/EXIF metadata and ICC profile.

## NAME

webpmux - create animated WebP files from non-animated WebP images, extract frames from animated WebP images, and manage XMP/EXIF metadata and ICC profile.

## SYNOPSIS

**webpmux -get** *GET\_OPTIONS* *INPUT* **-o** *OUTPUT*\
 **webpmux -set** *SET\_OPTIONS* *INPUT* **-o** *OUTPUT*\
 **webpmux -strip** *STRIP\_OPTIONS* *INPUT* **-o** *OUTPUT*\
 **webpmux -frame** *FRAME\_OPTIONS* **\[ -frame ... \] \[ -loop** *LOOP\_COUNT* **\]**\

**\[ -bgcolor** *BACKGROUND\_COLOR* **\] -o** *OUTPUT*

**webpmux -duration** *DURATION OPTIONS* **\[ -duration ... \]** *INPUT* **-o** *OUTPUT*\
 **webpmux -info** *INPUT*\
 **webpmux \[-h\|-help\]**\
 **webpmux -version**\
 **webpmux argument\_file\_name**

## DESCRIPTION

This manual page documents the **webpmux** command.

**webpmux** can be used to create/extract from animated WebP files, as well as to add/extract/strip XMP/EXIF metadata and ICC profile. 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.

## OPTIONS

### GET\_OPTIONS (-get):

- **icc**

  Get ICC profile.

- **exif**

  Get EXIF metadata.

- **xmp**

  Get XMP metadata.

- **frame** *n*

  Get nth frame from an animated image. (n = 0 has a special meaning: last frame).

### SET\_OPTIONS (-set)

- **loop** *loop\_count*

  Set loop count on an animated file.

Where: 'loop\_count' must be in range \[0, 65535\].

- **bgcolor** *A,R,G,B*

  Set the background color of the canvas on an animated file.

where: 'A', 'R', 'G' and 'B' are integers in the range 0 to 255 specifying the Alpha, Red, Green and Blue component values respectively.

- **icc** *file.icc*

  Set ICC profile.

Where: 'file.icc' contains the ICC profile to be set.

- **exif** *file.exif*

  Set EXIF metadata.

Where: 'file.exif' contains the EXIF metadata to be set.

- **xmp** *file.xmp*

  Set XMP metadata.

Where: 'file.xmp' contains the XMP metadata to be set.

### STRIP\_OPTIONS (-strip)

- **icc**

  Strip ICC profile.

- **exif**

  Strip EXIF metadata.

- **xmp**

  Strip XMP metadata.

### DURATION\_OPTIONS (-duration)

Amend the duration of a specific interval of frames. This option is only effective on animated WebP and has no effect on a single-frame file.

- *duration\[,start\[,end\]\]*

  Where:\
   **duration** is the duration for the interval in milliseconds (mandatory). Must be non-negative.\
   **start** is the starting frame index of the interval (optional).\
   **end** is the ending frame index (inclusive) of the interval (optional).

- The three typical usages of this option are:

  **-duration d**\
        set the duration to 'd' for the whole animation.\
   **-duration d,f**\
        set the duration of frame 'f' to 'd'.\
   **-duration d,start,end**\
        set the duration to 'd' for the whole \[start,end\] interval.

- Note that the frames outside of the \[start, end\] interval will remain untouched.

  The 'end' value '0' has the special meaning 'last frame of the animation'.

- *Reminder:*

  frame indexing starts at '1'.\

### FRAME\_OPTIONS (-frame)

Create an animated WebP file from multiple (non-animated) WebP images.

- *file\_i +di\[+xi+yi\[+mi\[bi\]\]\]*

  Where: 'file\_i' is the i'th frame (WebP format), 'xi','yi' specify the image offset for this frame, 'di' is the pause duration before next frame, 'mi' is the dispose method for this frame (0 for NONE or 1 for BACKGROUND) and 'bi' is the blending method for this frame (+b for BLEND or -b for NO\_BLEND). Argument 'bi' can be omitted and will default to +b (BLEND). Also, 'mi' can be omitted if 'bi' is omitted and will default to 0 (NONE). Finally, if 'mi' and 'bi' are omitted then 'xi' and 'yi' can be omitted and will default to +0+0.

- **-loop** *n*

  Loop the frames n number of times. 0 indicates the frames should loop forever. Valid range is 0 to 65535 \[Default: 0 (infinite)\].

- **-bgcolor** *A,R,G,B*

  Background color of the canvas.\
   where: 'A', 'R', 'G' and 'B' are integers in the range 0 to 255 specifying the Alpha, Red, Green and Blue component values respectively \[Default: 255,255,255,255\].

### INPUT

- Input file in WebP format.

  ### OUTPUT (-o)

- Output file in WebP format.

  ### Note:

- The nature of EXIF, XMP and ICC data is not checked and is assumed to be valid.

  ## EXIT STATUS

If there were no problems during execution, **webpmux** exits with the value of the C constant **EXIT\_SUCCESS**. This is usually zero.

If an error occurs, **webpmux** exits with the value of the C constant **EXIT\_FAILURE**. This is usually one.

## EXAMPLES

Add ICC profile:\
 webpmux -set icc image\_profile.icc in.webp -o icc\_container.webp

Extract ICC profile:\
 webpmux -get icc icc\_container.webp -o image\_profile.icc

Strip ICC profile:\
 webpmux -strip icc icc\_container.webp -o without\_icc.webp

Add XMP metadata:\
 webpmux -set xmp image\_metadata.xmp in.webp -o xmp\_container.webp

Extract XMP metadata:\
 webpmux -get xmp xmp\_container.webp -o image\_metadata.xmp

Strip XMP metadata:\
 webpmux -strip xmp xmp\_container.webp -o without\_xmp.webp

Add EXIF metadata:\
 webpmux -set exif image\_metadata.exif in.webp -o exif\_container.webp

Extract EXIF metadata:\
 webpmux -get exif exif\_container.webp -o image\_metadata.exif

Strip EXIF metadata:\
 webpmux -strip exif exif\_container.webp -o without\_exif.webp

Create an animated WebP file from 3 (non-animated) WebP images:\
 webpmux -frame 1.webp +100 -frame 2.webp +100+50+50\

\-frame 3.webp +100+50+50+1+b -loop 10 -bgcolor 255,255,255,255\
 \-o anim\_container.webp

Get the 2nd frame from an animated WebP file:\
 webpmux -get frame 2 anim\_container.webp -o frame\_2.webp

Using -get/-set/-strip with input file name starting with '-':\
 webpmux -set icc image\_profile.icc -o icc\_container.webp -- ---in.webp\
 webpmux -get icc -o image\_profile.icc -- ---icc\_container.webp\
 webpmux -strip icc -o without\_icc.webp -- ---icc\_container.webp

## AUTHORS

**webpmux** 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 Vikas Arora \<vikaas.arora@gmail.com\>, for the Debian project (and may be used by others).

## REPORTING BUGS

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

## SEE ALSO

[**cwebp**(1)](/cwebp/1.md), [**dwebp**(1)](/dwebp/1.md), [**gif2webp**(1)](/gif2webp/1.md)\
 Please refer to https://developers.google.com/speed/webp/ for additional information.
