ImageMagick convert can't convert to webp

On Ubuntu 12.04 ImageMagick doesn't seem to support webp.

convert flyer.png flyer.webp

Creates a png file with webp extension.

On webp docs is stated that ImageMagick does support webp

$ convert --version`
Version: ImageMagick 6.6.9-7 2012-08-17 Q16

I have these both installed:

  • libwebp-dev - Lossy compression of digital photographic images.
  • libwebp2 - Lossy compression of digital photographic images.

Also, convert can't decode a webp file.

What's wrong, and is this an Ubuntu bug?


Fixed in 16.04

In 16.04 convert flyer.png flyer.webp does work, although webp is needed:

sudo apt-get install webp

Without webp installed, this error message will show:

convert: delegate failed `"cwebp" -quiet -q %Q "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1310.

The Ubuntu source package for imagemagick does not declare a build dependency on libwebp-dev. Thus imagemagick gets built without webp support. This could be considered a bug in Ubuntu.

Relevant output from the build process:

checking for WEBP... 
checking webp/decode.h usability... no
checking webp/decode.h presence... no
checking for webp/decode.h... no
checking for WebPDecodeRGB in -lwebp... no
checking if WEBP package is complete... no

And when libwebp-dev is installed:

checking for WEBP... 
checking webp/decode.h usability... yes
checking webp/decode.h presence... yes
checking for webp/decode.h... yes
checking for WebPDecodeRGB in -lwebp... yes
checking if WEBP package is complete... yes

If you want to fix this just for yourself, you can rebuild the package and install your version:

cd /tmp
mkdir imagemagick
cd imagemagick
sudo apt-get build-dep imagemagick
sudo apt-get install libwebp-dev devscripts
apt-get source imagemagick
cd imagemagick-*
debuild -uc -us
sudo dpkg -i ../*magick*.deb

In the mean time one can install:

$ sudo apt-get install webp

And use dwebp and cwebp commands to decompress/compress from/to webp file format.


WebP support also has some issues with transparency before 6.8.3, so I've used 6.8.9-9 from 15.04 Vivid, and backported it to 14.04 Trusty with webp support. Use at your own risk:

sudo add-apt-repository ppa:jamedjo/ppa
sudo apt-get update
sudo apt-get install imagemagick libmagickcore-6.q16-2

In case you wish to repeat this, the steps were:

  • Using backportpackage imagemagick --source vivid --destination trusty --workdir=imagemagick-backport to fetch vivid's version and tar -xf to extract the .deb.
  • Then within debian/control replacing dpkg-dev (>= 1.17.6) dependency, adding dependencies for libwebp-dev and replacing Architecture: any with amd64 to avoid build failures.
  • Adding --with-webp in debian/rules, adding a changelog entry with dch and using debuild -S -sd to build a source only package.
  • Finally, set up an account on launchpad and follow their instructions to share your fix.