GIF2WEBP(1)
π GIF2WEBP(1) β bestie, we're converting GIFs today π
okay so this is the manual page for gif2webp, living in section 1 of the General Commands Manual, and honestly? it's giving "tiny tool, huge main character energy" β¨
πΈ NAME πΈ
gif2webp β convert a GIF image to WebP. that's it, that's the whole job, and she does it flawlessly π
π¦ SYNOPSIS π¦
gif2webp [options] input_file.gif -o output_file.webp
β¨ DESCRIPTION β¨
This manual page documents the gif2webp command. yes bestie, you're literally reading the documentation right now, you're doing amazing π«Ά
gif2webp converts a GIF image to a WebP image. glow-up complete. no cap. π
π OPTIONS π
The basic options are, and I need you to stay with me because there are a LOT of them and every single one matters:
-ostring β name your output WebP file right here. If you skip it,gif2webpwill still do the conversion but will only report statistics (so basically it does the work and tells you about it, but keeps the file to itself π). And if you use"-"as the output name, the output goes straight tostdout.--string β this one explicitly specifies the input file. super useful when your input file starts with a-, which, rude. This option must appear last. Any other options after it will be ignored, periodt. And if the input file is"-", the data gets read fromstdininstead of from a file.-h,-helpβ usage information. the "help me bestie" flag π-versionβ print the version number (asmajor.minor.revision) and exit. short and iconic.-lossyβ encode the image using lossy compression.-mixedβ mixed compression mode: optimize compression of the image by picking either lossy or lossless compression for each frame heuristically. she's indecisive in the most efficient way possible β¨-near_losslessint β 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 is0(maximum preprocessing) to100(no preprocessing, the default). The typical value is around60. Note that lossy with-q 100can at times yield better results.-sharp_yuvβ use more accurate and sharper RGB->YUV conversion. Note that this process is slower than the default'fast'RGB->YUV conversion. sharper pixels, slower vibes π-qfloat β specify the compression factor for RGB channels between0and100. The default is75.- In case of lossless compression (default), a small factor enables faster compression speed, but produces a larger file. Maximum compression is achieved by using a value of
100. - In case of lossy compression (specified by the
-lossyoption), a small factor produces a smaller file with lower quality. Best quality is achieved by using a value of100.
- In case of lossless compression (default), a small factor enables faster compression speed, but produces a larger file. Maximum compression is achieved by using a value of
-mint β 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 from0to6. Default value is4. When higher values are used, the encoder will spend more time inspecting additional encoding possibilities and decide on the quality gain. Lower value can result is faster processing time at the expense of larger file size and lower compression quality. (yes, "can result is" β that's what the manpage says, I don't make the rules π)-min_sizeβ encode image to achieve smallest size. This disables key frame insertion and picks the dispose method resulting in the smallest output for each frame. It uses lossless compression by default, but can be combined with-q,-m,-lossyor-mixedoptions. tiny file, big slay π-kminint and-kmaxint β 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.- A
'kmax'value of0will turn off insertion of key frames. A'kmax'value of1will result in all frames being key frames.'kmin'value is not taken into account in both these special cases. Typical values are in the range3to30. Default values arekmin = 9,kmax = 17for lossless compression andkmin = 3,kmax = 5for lossy compression. - These two options are relevant only for animated images with large number of frames (
>50). - When lower values are used, more frames will be converted to key frames. This may lead to smaller number of frames required to decode a frame on average, thereby improving the decoding performance. But this may lead to slightly bigger file sizes. Higher values may lead to worse decoding performance, but smaller file sizes.
- Some restrictions:
kmin < kmax,kmin >= kmax / 2 + 1andkmax - kmin <= 30.
- If any of these restrictions are not met, they will be enforced automatically. she does not ask, she enforces π
- A
-metadatastring β a comma separated list of metadata to copy from the input to the output if present. Valid values:all,none,icc,xmp. The default isxmp.-fint β for lossy encoding only (specified by the-lossyoption). Specify the strength of the deblocking filter, between0(no filtering) and100(maximum filtering). A value of0will turn off any filtering. Higher value will increase the strength of the filtering process applied after decoding the picture. The higher the value the smoother the picture will appear. Typical values are usually in the range of20to50. smooth operator fr fr π§-mtβ use multi-threading for encoding, if possible. many threads, one queen π-loop_compatibilityβ if enabled, handle the loop information in a compatible fashion for Chrome version prior to M62 (inclusive) and Firefox. throwback compatibility, we love to see it π°οΈ-vβ print extra information. she's chatty today π£οΈ-quietβ do not print anything. she's giving nothing and honestly? respected. π€
π¦ EXIT STATUS π¦
If there were no problems during execution, gif2webp exits with the value of the C constant EXIT_SUCCESS. This is usually zero. slay, no notes π
If an error occurs, gif2webp exits with the value of the C constant EXIT_FAILURE. This is usually one. we don't talk about that one π
π EXAMPLES π
here's the vibe check, all copied exactly because these are sacred:
gif2webp picture.gif -o picture.webp
gif2webp -q 70 picture.gif -o picture.webp
gif2webp -lossy -m 3 picture.gif -o picture_lossy.webp
gif2webp -lossy -f 50 picture.gif -o picture.webp
gif2webp -q 70 -o picture.webp -- ---picture.gif
cat picture.gif | gif2webp -o - -- - > output.webp
that last one is piping a GIF in through stdin and out through stdout and it is highkey iconic π
π AUTHORS π
gif2webp 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 Urvang Joshi <urvang@google.com>, for the Debian project (and may be used by others). thank you Urvang, we owe you everything π«Ά
π 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/
bestie if you find a bug, tell them. if you can fix a bug, even better. community is the whole point π
π SEE ALSO π
cwebp(1), dwebp(1), webpmux(1)
Please refer to https://developers.google.com/speed/webp/ for additional information.
okay that's the whole page!! and before you go β this manual page is from November 4, 2024, so if you're reading this way in the future, hi, hope the WebP format is still thriving π go convert some GIFs, you absolute legend πβ¨π¦
π¦ where this page comes from
- alpine 3.22: libwebp-doc 1.5.0-r0 Β· BSD-3-Clause
- alpine 3.23: libwebp-doc 1.6.0-r0 Β· BSD-3-Clause
- alpine 3.24: libwebp-doc 1.6.0-r0 Β· BSD-3-Clause
- arch rolling: libwebp 1.6.0-2 Β· BSD-3-Clause
- debian trixie: webp 1.5.0-0.1 Β· BSD-3-Clause
- fedora 43: libwebp-tools 1.6.0-2.fc43 Β· Apache-2.0 AND LicenseRef-scancode-google-patent-license-webm AND BSD-3-Clause AND FSFULLRWD
- fedora 44: libwebp-tools 1.6.0-3.fc44 Β· Apache-2.0 AND BSD-3-Clause WITH AdditionRef-WebM-patent-license AND BSD-3-Clause AND FSFULLRWD
- nixos 26.05: libwebp 1.6.0
- nixpkgs unstable: libwebp 1.6.0
- opensuse-leap 16.0: libwebp-tools 1.5.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: libwebp-tools 1.5.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: libwebp-tools 1.5.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: libwebp-tools 1.5.0-160000.2.2 Β· BSD-3-Clause
- ubuntu questing: webp 1.5.0-0.1
- ubuntu resolute: webp 1.5.0-0.1build1 Β· BSD-3-Clause
- ubuntu stonking: webp 1.6.0-0.1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms