Convert WebP to GIF

Turn a static WebP image into a GIF in your browser with a per-image colour palette and a width you choose. Animated WebP is detected and refused.

🌐 Español

Drop your file here (.webp)

🔒 Private by design: your files are processed locally in your browser and never uploaded to any server.

Converting forward in time, on purpose

Almost every format conversion on this site moves toward something better. This one deliberately goes the other way, turning a modern efficient format into one designed in 1987, and it is worth being clear that this is a compatibility decision rather than a technical improvement.

WebP compresses better, supports proper alpha transparency and handles photographs and graphics equally well. GIF is limited to 256 colours per image, has only all or nothing transparency, and produces larger files for the same content.

What GIF has is universal acceptance. Forum software, older content systems, email clients, internal tools and a long tail of applications that stopped being updated all recognise a GIF and refuse a WebP. When something on the other end demands a GIF, the format’s merits are irrelevant.

Converting a file

  1. Drop a .webp onto the box. One file at a time.
  2. Choose a Width. 480 pixels is the default and suits most uses.
  3. Run it and download the GIF, named after your original.

Animated WebP is refused, and that is the safe behaviour

This is the most important thing to know about this page.

The media engine here reports itself as FFmpeg 5.1.4, and the ability to read the chunks holding an animated WebP’s frames was only added upstream in 6.1. That would be a straightforward limitation except for how it fails: pushed an animated file, the pipeline logs that it is skipping chunks it does not understand, finds no image data, and writes a zero byte file without raising any error at all.

A silently empty download is a worse outcome than a refusal, because you may not notice until much later. So every file is checked before conversion, by reading the container header rather than by decoding anything, and an animated one is stopped there.

If you have an animation to convert, the route is through video. GIF to MP4 and MP4 to GIF handle animated content properly, so converting the WebP to video elsewhere and then to GIF is the workaround.

The palette is built from your image

A GIF holds at most 256 colours, which means every conversion involves choosing which 256. Doing that badly is what makes converted GIFs look cheap.

A fixed generic palette handles nothing well. Gradients band into visible stripes, skin tones go blotchy, and a photograph with a narrow colour range wastes most of its palette on colours it never uses.

This conversion runs two passes instead. The first analyses your specific image and derives a palette suited to the colours actually present in it. The second writes the GIF using that palette. The improvement on anything with a gradient or a photographic subject is not subtle.

Width, and why it never upscales

The width setting caps the output rather than setting it. The scale is expressed as a comparison against the source width, so an image narrower than your chosen width is left at its own size rather than being enlarged.

That is deliberate. Upscaling a small image adds no detail whatsoever and makes the file substantially larger, which is the opposite of what anyone wants from a GIF. Choosing original skips the resize entirely and keeps the source dimensions.

Since GIF files are large by nature, width is the main control you have over the result’s size, which is why 480 pixels rather than original is the default.

If the target does accept modern formats, WebP to PNG and WebP to JPG are better conversions from the same source. To go the other way and modernise an image, PNG to WebP does that.

If the resulting GIF is too large, Compress GIF reduces it further, and Crop GIF trims the frame. To build a GIF from several stills rather than convert one, Images to GIF assembles them. The rest are on the image hub.

See it in action

Screenshot of the Convert WebP to GIF tool with sysfenix-sample.webp (37 KB) loaded, Width set to 480 px, recommended
Convert WebP to GIF mid-process: sysfenix-sample.webp (37 KB) loaded, Width set to 480 px, recommended.
Screenshot of the Convert WebP to GIF result screen showing sysfenix-sample.gif ready to download (71 KB, 90% larger)
The finished result: sysfenix-sample.gif ready to download (71 KB, 90% larger). The download link is a local blob URL — the file never leaves your device.

Frequently asked questions

Can it convert an animated WebP?

No, and it detects one rather than failing silently. The media engine bundled here is FFmpeg 5.1.4, and support for reading an animated WebP's frames was only added upstream in version 6.1. Running an animated file through the pipeline anyway does not raise any error, it quietly writes a zero byte file, which is far worse than a refusal. So the file is inspected first and an animated one is rejected before conversion begins. The refusal reaches you as the layout's one fixed generic sentence rather than as a message about animation, so if a WebP is refused here, check whether it animates.

How does it know the file is animated without decoding it?

By reading the container structure. A WebP is a chunked file, and only the extended variant can carry animation at all, which is identifiable from the chunk name immediately after the header. When that variant is present, one specific bit in its flags byte says whether animation frames follow. Both checks are a handful of bytes at the front of the file, so nothing has to be decoded to answer the question.

Why does the width option not upscale a small image?

Because the scale is applied as a minimum comparison against the source width rather than as a fixed target. A 200 pixel wide image with the 480 setting selected stays at 200 rather than being stretched to 480, since enlarging a small image adds no detail and only makes the file bigger. Choosing original skips the resize entirely.

What is the palette step doing?

A GIF can only hold 256 colours, so something has to decide which 256. A generic palette gives you visible banding on anything with gradients. This conversion runs a two pass process instead, analysing your specific image to build a palette suited to it and then applying that palette when writing the file. It is the difference between a clean result and an obviously posterised one.

Why would I want a GIF instead of the WebP I already have?

Compatibility, essentially always. WebP is smaller and better in every technical respect, and it is still refused by a long tail of older software, forum uploaders, email clients and internal tools that only recognise the formats that existed decades ago. Converting to GIF is a downgrade you make because something on the other end demands it.

Will the GIF be larger than the WebP?

Almost certainly, and often by a lot. WebP uses modern compression while GIF is limited to 256 colours and a much older scheme. Reducing the width is the main lever you have over the result's size, which is why the default is 480 rather than the original dimensions.

What about transparency?

Both formats support it, but they support it differently. WebP stores a full alpha channel with partial transparency, whereas GIF has only a single fully transparent colour. A soft edge that fades out in the WebP therefore has to become either fully opaque or fully transparent in the GIF, which can leave a visible hard edge on an image that had a smooth one.

Related tools