DWEBP(1)

πŸ“¦
version 1.6.0 Β· 3 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– DWEBP(1) πŸ’–

okay bestie, so this is the manual page for dwebp, a General Commands Manual situation. buckle up, it's actually so useful 🫢


✨ NAME ✨

dwebp β€” decompress a WebP file to an image file


πŸ¦‹ SYNOPSIS πŸ¦‹

dwebp [options] input_file.webp

🌸 DESCRIPTION 🌸

This manual page documents the dwebp command. yes it's giving very "official documentation" energy, we love that for us.

So basically: dwebp decompresses WebP files into PNG, PAM, PPM or PGM images. that's the whole job. that's the vibe. πŸ’…

🚨 Note: Animated WebP files are not supported. like, at all. don't come for me, that's just the rules 😭

πŸŽ€ OPTIONS πŸŽ€

The basic options are:

  • -h β€” Print usage summary. the lil "what do I do again" button.
  • -version β€” Print the version number (as major.minor.revision) and exit. cute lil receipt of what you're running ✨
  • -o string β€” Specify the name of the output file (as PNG format by default). Using "-" as output name will direct output to 'stdout'. so if you want it piped somewhere instead of in a file, you know what to do πŸ‘‘
  • -- string β€” Explicitly specify the input file. This option is useful if the input file starts with an '-' for instance. This option must appear last. Any other options afterward will be ignored. If the input file is "-", the data will be read from stdin instead of a file. lowkey the bodyguard option fr fr πŸ›‘οΈ
  • -bmp β€” Change the output format to uncompressed BMP.
  • -tiff β€” Change the output format to uncompressed TIFF.
  • -pam β€” Change the output format to PAM (retains alpha). keeps the transparency, queen πŸ’…
  • -ppm β€” Change the output format to PPM (discards alpha). bye bye transparency πŸ‘‹
  • -pgm β€” Change the output format to PGM. The output consists of luma/chroma samples instead of RGB, using the IMC4 layout. This option is mainly for verification and debugging purposes. nerd mode activated πŸ§ͺ
  • -yuv β€” Change the output format to raw YUV. The output consists of luma/chroma-U/chroma-V samples instead of RGB, saved sequentially as individual planes. This option is mainly for verification and debugging purposes. also nerd mode, but planar 🧚
  • -nofancy β€” Don't use the fancy upscaler for YUV420. This may lead to jaggy edges (especially the red ones), but should be faster. sacrificing pretty red edges for speed, a trade as old as time 😭
  • -nofilter β€” Don't use the in-loop filtering process even if it is required by the bitstream. This may produce visible blocks on the non-compliant output, but it will make the decoding faster. it's giving "I know this is wrong but it's fast" energy πŸ’€
  • -dither strength β€” Specify a dithering strength between 0 and 100. Dithering is a post-processing effect applied to chroma components in lossy compression. It helps by smoothing gradients and avoiding banding artifacts. so smooth, so gradient, so slay 🌈
  • -alpha_dither β€” If the compressed file contains a transparency plane that was quantized during compression, this flag will allow dithering the reconstructed plane in order to generate smoother transparency gradients. translucent AND smooth? iconic ✨
  • -nodither β€” Disable all dithering (default). no dithering, no notes.
  • -mt β€” Use multi-threading for decoding, if possible. she's doing several things at once and honestly? same πŸ’…
  • -crop x_position y_position width height β€” Crop the decoded picture to a rectangle with top-left corner at coordinates (x_position, y_position) and size width x height. This cropping area must be fully contained within the source rectangle. The top-left corner will be snapped to even coordinates if needed. This option is meant to reduce the memory needed for cropping large images. Note: the cropping is applied before any scaling. order matters, bestie πŸ“
  • -flip β€” Flip decoded image vertically (can be useful for OpenGL textures for instance). upside down moment πŸ™ƒ
  • -resize, -scale width height β€” Rescale the decoded picture to dimension width x height. This option is mostly intended to reducing the memory needed to decode large images, when only a small version is needed (thumbnail, preview, etc.). Note: scaling is applied after cropping. If either (but not both) of the width or height parameters is 0, the value will be calculated preserving the aspect-ratio. tiny version of the girlboss image, we love a thumbnail era πŸŽ€
  • -quiet β€” Do not print anything. 🀫
  • -v β€” Print extra information (decoding time in particular). the receipts, the stats, the gossip πŸ“Š
  • -noasm β€” Disable all assembly optimizations. raw dogging the CPU, respect 🫑

πŸ’€ EXIT STATUS πŸ’€

If there were no problems during execution, dwebp exits with the value of the C constant EXIT_SUCCESS. This is usually zero. so 0 = we ate, no crumbs πŸ“

If an error occurs, dwebp exits with the value of the C constant EXIT_FAILURE. This is usually one. so 1 = it's giving flop, something went wrong 😭


🌈 EXAMPLES 🌈

look bestie, actual copy-pasteable examples, we love a demo:

dwebp picture.webp -o output.png
dwebp picture.webp -ppm -o output.ppm
dwebp -o output.ppm -- ---picture.webp
cat picture.webp | dwebp -o - -- - > output.ppm

see that third one? that's the -- bodyguard option doing its job for a file literally named ---picture.webp. and the fourth one is straight-up pipe girlie behaviour 🫢


πŸ‘‘ AUTHORS πŸ‘‘

dwebp 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). shoutout Pascal, real one 🫢


πŸ› 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/

(they literally say "patches welcome" β€” the invite is open, bestie, go be the main character of open source πŸ’…)


πŸ”₯ SEE ALSO πŸ”₯

cwebp(1), gif2webp(1), webpmux(1)

Please refer to https://developers.google.com/speed/webp/ for additional information.

πŸ’œ Output file format details πŸ’œ


and that's the whole page, no cap ✨ this was DWEBP(1), a General Commands Manual, last updated July 18, 2024 β€” so go forth, decompress responsibly, and remember: animated WebP files are still not supported, so don't even try it 😀 periodt πŸ’–