Convert WebP to GIF
Stickers, reactions and loops saved as WebP will not play in the places that only know GIF. Turn them into GIFs with every frame and its timing kept. Nothing is stored.
- Never stored
- No queue, no waiting
- No signup, no watermark
How it works
Add your WebP files
Animated or still, one or a batch. A sticker saved from a chat, a loop downloaded from a site, an export from a design tool.
Convert
Every frame is read with its own timing and written into a GIF with a palette built from the picture — 256 colours, or fewer if you want a smaller file.
Download
Singly or as a ZIP. The row says how many frames came through.
Why anyone still wants a GIF
Animated WebP is better than GIF in every technical respect — 24-bit colour, real alpha, a video codec behind each frame, files a fraction of the size — and it has one weakness that outweighs all of it: the places that play GIFs do not all play WebP. Older forum software, email clients, some social networks' upload forms, Slack and Teams in certain modes, slide decks and a long tail of Windows applications show a WebP animation as a still, or not at all. GIF plays everywhere, and has for thirty years.
Each WebP frame is decoded and composed the way a viewer shows it — WebP frames can be partial, blended or disposed, and a GIF wants the whole picture — then quantised to a palette and written with the same delay. The quantiser builds the 256 colours from the frame's own histogram and dithers, so a cartoon or a sticker is usually indistinguishable and a photograph picks up a fine grain. Delays below 20 ms are raised to 100 ms, because browsers do that to GIFs anyway and the file would otherwise race.
Transparency survives in the only form GIF has: a pixel is either shown or not. A soft shadow or a feathered edge is cut at the halfway point, which is why a sticker with a glow comes out with a crisp outline instead. Nothing can be done about that inside a GIF; it is the format.
When you want something else
ffmpeg does this with a two-pass palette and more control over dithering: ffmpeg -i in.webp -vf "split[a][b];[a]palettegen[p];[b][p]paletteuse" out.gif. For a folder of stickers it is one loop; here it is one drop, which is the same thing at that scale.
If the destination does play WebP — every current browser and phone does — keep the WebP. It is smaller, sharper and has real transparency, and the GIF is strictly a compatibility copy.
Frequently asked questions
Does it keep the animation?
Yes. Every frame is decoded and written into the GIF with its own delay, and the loop plays forever, as GIFs do. The row under each file says how many frames were kept.
Why is the GIF so much bigger than the WebP?
Because GIF is a 1989 format. It stores each frame with at most 256 colours and compresses them with LZW; WebP uses a video codec. Five to ten times larger is normal. Choosing 128 or 64 colours helps when the picture is simple.
Why do the colours look slightly off?
A GIF frame can hold 256 colours, so a photographic WebP is reduced to a palette. The palette is built from the picture itself and dithered, which hides it well on most things; smooth gradients and skin tones are where it shows.
What if the WebP is a still image?
You get a GIF with one frame, and the row says so. If what you want is a still in a modern format, WebP to PNG or WebP to JPG is the better page.
Are my files stored anywhere?
No — nothing is stored at any point.
Can I turn a GIF into a WebP instead?
Not on this site yet. GIF to PNG takes the first frame as a still; for an animated WebP from a GIF, the free command-line tool gif2webp from Google does it in one line.
Good to know: A GIF holds 256 colours per frame and no partial transparency, so smooth gradients band a little and soft edges become hard ones. Reading the frames of an animated WebP needs a recent Chrome, Edge or Opera; elsewhere the first frame is written as a still and the row says so.
Put this tool on your website
Free for any blog, class page or help article. Paste one snippet and your visitors can use it right on your page.