GIF to WebP, half the size. Nothing ever uploads.

Drop GIF files below — get WebP images back, typically 25–35% smaller than the same image as PNG or JPG at the same visual quality, with transparency kept as WebP alpha. Converted entirely on your device.

Animated GIF? Each frame becomes its own still WebP — this tool does NOT produce a single animated WebP file, because the WebP encoder is still-only. The frame count is shown on every file.

  • Your file data never leaves the device
  • Quality slider 50–100 + lossless
  • Batch up to 20 files
  • Transparency preserved

Convert GIF to WebP

Add your GIF files

Drag & drop GIF files here

or browse your files · you can also paste from clipboard (Ctrl+V)

Up to 25 MB per file · up to 20 files per batch · file data never leaves your device

Loading the WebP encoder…

    No files yet. Everything stays on this device. Downloads start instantly.

    Privacy you can verify, not just trust

    Most online GIF converters upload your images to their servers first — and some keep a download link live for 30 days. This one can't: your browser decodes the GIF with a local script and the WebP encoder (libwebp, compiled to WebAssembly) runs entirely in your browser. Your file data never leaves the device — the only third-party requests are the site's own analytics, which count page views — and it uploads nothing, ever. The encoder files are served from this site, not fetched from anywhere else, and are loaded once, on your first convert. There is no file fetched after load for the conversion itself. Don't take our word for it:

    New cross-origin requests during use: 0
    1. Press F12 to open developer tools, then the Network tab.
    2. Convert any GIF above. Watch: apart from the site's analytics, nothing new is requested — no uploads, and no file data ever leaves your device.
    3. Extra credit: disconnect your internet after this page loads — conversion still works.

    How to convert GIF to WebP without uploading it

    Every "free" online GIF converter you've used uploads your images to a company server, converts them there, and — in several documented cases — keeps a copy or a live download link for days. For graphics, logos, and anything you wouldn't post publicly, that's an unnecessary risk. The safer approach is to convert the file where it already is: on your own device.

    This tool does exactly that. When you drop a GIF here, your browser:

    1. Decodes the GIF locally — with the vendored omggif decoder, honouring disposal methods and the transparent palette index, so every frame comes out exactly as the GIF shows it.
    2. Keeps the transparency — transparent pixels become WebP alpha, so logos and icons stay see-through. There is no background picker and no flattening.
    3. Resizes it to the width you picked (800 px by default), keeping the aspect ratio. Images at or below the chosen width keep their size — nothing is upscaled.
    4. Encodes each frame as its own still WebP with libwebp, the reference WebP encoder, running as WebAssembly in your browser — lossy at the quality you pick, or genuinely lossless with the toggle on. Your original file is never modified. Encoding takes well under a second for most images, and each file card shows how long its encode took.

    What happens to animation?

    It is lost — honestly and on purpose. This tool does NOT produce a single animated WebP file: the vendored WebP encoder is still-only, so it cannot encode an animated sequence. Instead, an animated GIF becomes one still WebP per frame — a 3-frame GIF gives you three WebP files, numbered frame-01, frame-02 and frame-03, which you can download one by one or all together as a ZIP. The file card shows the frame count (for example, "3 frames"), and animated files carry a plain warning that the motion is lost. If you need the animation, keep the GIF — or use our GIF to JPG converter to extract every frame as its own still image. Still GIFs convert normally, with nothing lost.

    Lossy or lossless — which should you pick?

    Pick lossy (the default, quality 85) when the image is going on a website, into a blog post, or onto Discord or a forum: it is the small file that loads fast, and at quality 85 it looks identical to the original for almost every image — typically 25–35% smaller than the same image as PNG or JPG. Pick lossless when every pixel has to survive exactly — a master you will edit further, or an image with razor-sharp edges. Lossless files are bigger, sometimes bigger than the GIF for scans with large flat areas, because lossless cannot throw detail away. Either way, keep the GIF as your master copy and publish the WebP.

    Why is WebP smaller than GIF?

    GIF compresses by limiting an image to 256 colours and squeezing repeats, a technique from 1987. WebP's codec predicts neighbouring pixels far better and encodes the difference more efficiently, so the same graphic typically comes out 25–35% smaller than the same image as PNG or JPG at quality 85 with no visible difference. That is why switching a site's GIFs to WebP is one of the cheapest PageSpeed wins there is. The saving is real but not magic: a GIF that was already tiny and flat has little left to squeeze, and at quality 100 the WebP can come out bigger than the GIF it came from.

    Why won't my GIF load fast enough on my site?

    GIF is the web's default for simple graphics and animation, but a GIF used as a static image still costs a full download, and every kilobyte is time your visitor waits — especially on a phone. WebP keeps the picture looking the same while cutting the weight, which is what Core Web Vitals and PageSpeed measure. If the destination has a size limit, pick a destination preset and the converter will aim for it: website heroes aim for under 300 KB, blog images under 150 KB, Discord or forum uploads under 256 KB.

    Why is there a canvas fallback?

    With WebP, a converter can fall back to the browser's built-in canvas encoder when its own encoder fails — canvas toBlob with image/webp works in every current browser. The fallback is lossy only, so the Lossless toggle is switched off and the page says so plainly, rather than claiming lossless it cannot deliver. If even the canvas encoder is unavailable, conversion is disabled and the page says so.

    Honest limitations

    One still WebP per frame

    Animated GIFs lose their motion: each frame becomes its own still WebP, because the WebP encoder is still-only. The frame count is shown on every file card, so it is never a surprise.

    No single animated WebP file

    This tool does NOT produce a single animated WebP file. If you need one file that plays, keep the GIF — or assemble the still frames in an animation tool.

    Lossless is real, but bigger

    With the toggle on, every visible pixel is stored exactly. Lossless files are bigger than lossy ones, and can be bigger than the GIF for flat graphics. Keep the GIF as your master copy.

    Quality 100 can be larger than the GIF

    At quality 100 the WebP can come out bigger than the GIF it came from, especially for tiny flat graphics. If the file comes out bigger, the card says so — use a lower quality for publishing instead.

    Transparency is preserved

    GIF's transparent pixels become WebP alpha, so logos and icons stay see-through — shown on a checkerboard in the preview. There is no background picker and nothing is flattened onto a colour.

    GIF is capped at 256 colours

    The WebP cannot exceed the source's colour detail. Converting a GIF cannot add colours or detail that were never there — it keeps exactly the quality the GIF had.

    Metadata is dropped

    EXIF and other metadata in the GIF is not carried into the WebP. GIFs rarely carry EXIF, but nothing is copied over — which is good for privacy.

    Not every app accepts WebP yet

    Every modern browser displays WebP, and Discord, Slack and most forums accept it — but a few older upload forms and apps still only take JPG or PNG. Check the destination first, or convert to JPG instead.

    Estimates are estimates

    The size shown while converting is a rough model; the real size is shown once conversion finishes. Destination presets aim for a target, they never guarantee it.

    Very large images depend on your device

    The encoder runs entirely on your device, so a 50-megapixel GIF needs hundreds of megabytes of memory while it converts. A desktop handles that; a low-memory phone may not. Files over 25 MB are refused outright.

    Frequently asked questions

    How can I convert GIF to WebP without uploading it anywhere?

    This converter runs entirely in your browser: it decodes your GIF with a GIF decoder running on your device and re-encodes it as WebP with the libwebp encoder running on your device. Your file data never leaves the device — the only third-party requests are the site's own analytics, which load at page open and never see your files. Verify it in the Network tab while it works.

    Is WebP really smaller than GIF?

    Usually, yes — a GIF re-encoded as lossy WebP at quality 85 is typically 25–35% smaller than the same image as PNG or JPG, because WebP predicts neighbouring pixels better than GIF does — and this tool shows the before and after size honestly for every file, so you can see the saving instead of taking our word for it. GIF is limited to 256 colours, so it compresses tightly, and at quality 100 the WebP can be larger than the GIF for tiny flat graphics. If a file comes out bigger, the card says so and you can keep the GIF.

    Is the WebP output lossless?

    Only when the Lossless toggle is on. With it on, the encoder is libwebp's true lossless mode, which stores every pixel exactly — a lossless WebP decodes back to the identical image. The one exception is fully transparent pixels: they keep their transparency exactly, but the colour stored underneath them (which nothing can see) is discarded by the encoder. With the toggle off (the default), the output is lossy WebP at the quality you pick: quality 85 looks identical to the original for most images, and quality 100 is visually near-lossless but not pixel-perfect. Keep your GIF as the master copy and use WebP as the published version.

    Does converting a GIF to WebP keep the animation?

    No — this tool does NOT produce a single animated WebP file. The vendored WebP encoder is still-only, so each frame of your GIF becomes its own still WebP file (frame-01, frame-02, and so on), and you download them one by one or all together as a ZIP. The motion itself is lost. The file card shows the frame count, so you can see how many frames the GIF had. If you need the animation, keep the GIF — or use our GIF to JPG converter to extract every frame as stills. Still GIFs convert normally, with nothing lost.

    What happens to transparency when I convert a GIF to WebP?

    It is preserved, never flattened: WebP has a real alpha channel, so the GIF's transparent pixels stay see-through in the WebP — the preview sits on a checkerboard so you can see exactly which areas are transparent. There is no background picker and no flattening anywhere on this tool, because nothing needs flattening: GIF's 1-bit transparency becomes WebP alpha directly. If you need a solid background instead, convert to JPG, which flattens transparency onto a colour you pick.

    Can I share the WebP on Discord, a forum or by email?

    Usually, yes. Every current browser displays WebP, and Discord, most forums, Slack and WhatsApp accept it — though a few older upload forms and apps still only accept JPG or PNG, so check the destination first. Use the destination presets if the app has an upload size limit: website heroes aim for under 300 KB, blog images under 150 KB, and Discord or forum uploads under 256 KB. The presets aim for the target, they do not guarantee it — the tool reports the size it actually reached. Note the difference between viewing and encoding: the preview needs a browser that displays WebP, so on a very old browser the preview may stay blank while the downloaded file is perfectly valid.

    Will the WebP be bigger than the GIF?

    Sometimes. GIF is limited to 256 colours, so it compresses flat graphics tightly, while WebP stores smooth colour and photographic detail — a tiny flat-colour GIF may convert to a WebP larger than the source GIF, especially at quality 100 or with the Lossless toggle on. That is normal, not a defect: the quality slider (50–100, default 85) controls the trade-off, and the tool tells you the size on each file instead of hiding it. Try a lower quality, or keep the GIF for very small flat graphics.

    Is there a file size or daily limit?

    There is no daily limit and no account. A 25 MB safety cap applies per file and 20 files per batch, because decoding large images in the browser is memory-heavy. Most GIFs saved from the web are well under 5 MB, far below the cap. Very large images also depend on your device's memory — the encoder runs entirely on your device, so a low-memory phone will struggle with a 50-megapixel GIF where a desktop will not.

    What happens if my browser can't run the WebP encoder?

    The page falls back to your browser's built-in canvas WebP encoder, which is lossy only: the Lossless toggle is switched off and disabled, and the page says so plainly. The output is still a real WebP file — canvas can encode WebP reliably, unlike AVIF — so conversion keeps working, just without the lossless option. If even the canvas encoder is unavailable, conversion is disabled and the page says so. Try a current version of Chrome, Edge, Firefox or Safari — or use our GIF to JPG converter instead, which works everywhere.