52

I'm using ubuntu 12.04. I've installed libwebp2 & libwebp-dev

So far, no example found on the net of converting webp to jpg.

Some webp files can easily converted by using imagemagick with command

convert file.webp file.jpg

but lots of webp files cannot be converted and give error:

convert: no decode delegate for this image format `file.webp' @ error/constitute.c/ReadImage/532.
convert: missing an image filename `file.jpg' @ error/convert.c/ConvertImageCommand/3011.

--------added

This is the file: http://www.filedropper.com/file_144

  • Could you post some of the files that cannot be converted so we can have a go? – terdon Mar 30 '13 at 17:39
  • Any errors when ImageMagick fails to convert? – dartonw Mar 30 '13 at 17:44
  • @dartonw Error has been updated – apasajja Mar 30 '13 at 17:51
  • @terdon I have no idea any image hosting support webp – apasajja Mar 30 '13 at 18:05
  • Strange that IM would convert some webp files and not others. Can the ones that fail be viewed in a browser or image editor (perhaps they are corrupt)? How did you install IM? AFAIK, it needs to be specifically compiled with webp support after installing libwebp[-devel]. – dartonw Mar 30 '13 at 18:45
69

Google already provided the tool to decode webp images in the libwebp package, your uploaded file works on Arch.

dwebp file.webp -o abc.png

For the encoding tool, check the cwebp command.

In Ubuntu you can install the tools with:

sudo apt install webp

On RHEL/CentOS:

 yum install libwebp libwebp-tools

And you might consider using this online tool.

  • 6
    Unfortunately dwebp only converts webp to png, but not to jpg. – rumpel Oct 29 '13 at 8:30
  • 2
    @rumpel thx, it failed to open the .jpg, but when I put .png it worked! – Aquarius Power Dec 8 '14 at 3:49
  • 3
    In 14.04 I needed to install the package webp it was not available until I installed that. I was confused because I had install all the libwebp and libweb-dev packages. – TryTryAgain May 5 '15 at 17:29
  • 1
    Use dwebp for webp->png, and then convert for png->jpg. Using pipe. dwebp 1.webp -o - | convert - 1.jpg – steve Jul 15 '16 at 17:57
  • 2
    For windows use the following command for %f in (*.webp) do dwebp.exe "%f" -o "%~nf.png" – Matija Grcic Nov 18 '16 at 18:21
19

ffmpeg can do this. Useful if you already have ffmpeg. No need for installing other tools.

Simply:

ffmpeg -i file.webp out.png

17

Convert all webp files within a directory

find ./ -name "*.webp" -exec dwebp {} -o {}.png \;

Note: dwebp is in the libwebp package

  • 5
    For Ubuntu 16.04 I needed to install it with sudo apt-get install webp. – PhoneixS Aug 18 '17 at 17:58
2

Go into the directory containing the webp files and:

$ for x in ls *.webp; do  ffmpeg -i $x $x.jpg; done
1

There is another online tool available here which can help you on this:

but if you want a local tool, you can use this one:

and use it like this:

1) chmod a+x webpconv

2) ./webpconv -format PNG <YOUR_WEBP_FILE>.webp

The overall structure is like this:

webpconv [-output_dir dir] [-format format] [-quality quality] input_file(s)

Example) To convert a .png image to WebP with a quality of 90 you would enter:

webpconv -quality 90 /home/user/image_name.png

and to convert a WebP file to a PNG one:

webpconv -format PNG /home/user/image_name.webp

1

I found this method faster for my 1 time need.

  1. Take screenshot with webp image open in chrome.
  2. Paste into paint program.
  3. Crop and save.
  • 5
    The questioner was looking for a command line solution... – jasonwryan Jun 10 '14 at 4:06
  • 1
    I think it could be made as a command line by using Shutter and taking a screenshot of a window without window decorations, all in a script; could be fun to code :) – Aquarius Power Aug 11 '14 at 22:30
0

To convert multiple jpg to webp, using cwebp:

find ./ -name "*.jpg" -exec cwebp -q 70 {} -o {}.webp \

Thunar Custom Action:

for file in %F; do cwebp "$file" -o "${file%%.*}".webp; done

Thunar Custom Action, moving webp images to subfolder:

mkdir %d/webp && cd %d; for file in %N; do cwebp "$file" -o "webp/${file%%.*}".webp; done

Cwebp's default quality setting is 75.

0

install the webp package with sudo apt install webp, after that it should work.

0

for x in ls *.webp; do ffmpeg -i $x ${x%.webp}.jpg; done which is solution stolen from Byram Sewell and Jeff Bowman https://stackoverflow.com/a/17844019/146745

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.