Convert GIF to WebP

Drop an animated GIF below and get an animated WebP back: every frame, the same timing, the same loop. WebP is already selected; files go up to 16 MB as a guest or 32 MB with a free account. Free. No account, no watermark.

  • Animation kept
  • Frame timing and loop kept
  • Transparency kept
Compression Level
None
No compression, only apply settings on image
Lossless
Without any visual change in the image quality
Ultra
Max compression with some quality loss
Smart
Balance between the image quality and compression
Change Format Will allow you to convert images to different extensions
Auto WEBP AVIF PNG JPG Auto tries every format your image can be saved as and gives you the smallest one
Resize Will allow you to change the width, height or scale of images
Keep EXIF Will allow you to preserve meta data in images
Maximum file size is 16 MB per image and supported formats are: PNG, JPG, JPEG, WEBP, GIF, HEIC, HEIF, TIFF, TIF
Guests get 10 images a day, 10 left today. A free account gets 40 a day.
Delete this image?
The image and its optimized copy will be removed from storage. This cannot be undone.

Rename this image
Choose the name the optimized image downloads with. Its format stays the same.

Uploaded as

Rename the selected images
Each image gets this name and a number, counted in the order they were uploaded. Their formats stay the same.

Share this image
Choose the compression level that suits your images
Level What it promises What happens Pick it when
Lossless
Not one pixel changes in a JPEG, PNG or GIF The file is repacked, never re-encoded. JPEGs get an optimised Huffman table and progressive scan, PNGs a tighter deflate pass, GIFs a lossless gifsicle run. A lossy WebP has no repack step, so it is re-encoded at the highest quality the level allows. A sideways phone JPEG is rotated losslessly on the way through and keeps its colour profile. The one exception to the promise is a PNG or WebP tagged with a wide-gamut profile such as Display P3: its colours are converted to sRGB, so the values change but the picture doesn't. Logos, line art, anything you'll edit again, or when the file is evidence.
Smart
No visible change, targets 40 dB PSNR and a perceptual score of 70 A quality search runs per image and stops at the lowest quality that still clears the PSNR target. That answer is then scored on the SSIMULACRA 2 scale, because an average over every pixel lets a mostly flat picture through at a quality its detail doesn't deserve, and when it falls under 70 the search moves back up until it doesn't. Photos and graphics end up at different qualities because they need different ones; an image that cannot reach the targets inside the quality ceiling is encoded at the ceiling. Almost everything on a website. This is the default for a reason.
Ultra
Smallest file, targets 34 dB PSNR and a perceptual score of 50 The same two-stage search with lower targets. Fine texture softens a little; edges and text stay sharp. Thumbnails, backgrounds, email images, anything shown small or blurred anyway.
None
No compression at all Only the resize, conversion or metadata setting you chose is applied. An untouched upload comes back byte for byte. You only wanted to resize or convert, and quality is someone else's decision.

Measured, not estimated

What GIF to WebP saved on four real animations

Four animations from the corpus our encoder settings were tuned on. They behave differently, and the last row is there to show that.

Sample Original Lossless Smart Ultra
Newton's cradle, rendered animation 480 by 360, 36 frames 301 KB GIF 268 KB 10.9% smaller 185 KB 38.4% smaller 80 KB 73.4% smaller
Galloping horse, photographic frames 300 by 200, 15 frames 555 KB GIF 443 KB 20.1% smaller 154 KB 72.2% smaller 69 KB 87.6% smaller
Rotating Earth, photographic frames 400 by 400, 44 frames 1.0 MB GIF 773 KB 21% smaller 406 KB 58.5% smaller 194 KB 80.2% smaller
Bubble sort, flat-colour diagram 300 by 180, 267 frames 151 KB GIF 100 KB 33.6% smaller 100 KB 33.6% smaller 100 KB 33.6% smaller

Every frame was kept in every result. The bubble sort diagram is flat colour: lossy frames would cost more than lossless ones there, so the encoder picks lossless frame by frame and all three levels land within a few bytes of each other.

Why WebP

GIF is a 1987 format doing a video's job

A GIF holds 256 colours a frame and compresses each frame with a scheme from the eighties. That's why a five-second clip weighs megabytes. Animated WebP stores full colour, and codes each frame against the one before it the way video does.

Iminify converts with gif2webp, which reads the whole animation and keeps its frame delays and loop count. Two of its options are off by default and worth a lot, so both are on here. One spends more effort on packing frames. The other lets the encoder choose lossy or lossless for each frame, which is what rescues flat-colour animations: forcing lossy on one made it 84% bigger than the GIF in our tests.

At Lossless every pixel of every frame is kept. Smart and Ultra allow loss inside photographic frames, which is where the big reductions in the table come from.

What survives

What a GIF keeps on its way to WebP

  • Every frame

    The whole sequence is converted, not a first-frame still. Resize in the same pass and every frame is resized too.

  • Timing and looping

    Per-frame delays and the loop count carry over, so the WebP plays exactly like the GIF.

  • Transparency

    A transparent GIF stays transparent.

  • Nothing to keep in metadata

    GIFs don't carry EXIF, so the Keep EXIF switch has no effect on this conversion.

When not to

When to keep the GIF

  • It's going into an email or a chat app. Many of them animate GIFs and show WebP as a still, or not at all.
  • The platform re-encodes uploads anyway. Most social networks turn a GIF into video themselves.
  • It's longer than a few seconds. Past that, an MP4 is smaller than either format, and Iminify doesn't make video.

How to

GIF to WebP in three steps

  1. 1

    Drop your GIF

    WebP is already chosen under Change Format.

  2. 2

    Pick a level

    Lossless keeps each frame exact. Smart is the usual choice for clips made from photos or video.

  3. 3

    Preview and download

    The result plays in the preview, so you can check the motion first.

Questions

GIF to WebP questions

From the blog

What we've measured so far

We run the encoders on real photos and screenshots and publish the numbers: when WebP beats AVIF, what quality 80 means in each encoder, and how many kilobytes an image on a web page should weigh.

All posts
ComfyUI's Flux Dev example render of a fox-eared girl in a maid dress holding a cake, captioned: 1,215,064-byte PNG to 125,684-byte WebP, and the workflow still loads in ComfyUI.

ComfyUI PNG to JPG loses the workflow. WebP and AVIF can keep it

ComfyUI's Flux Dev example image is a PNG of 1,215,064 bytes, and the two text chunks holding its prompt and workflow take 12,240 of them. The rest is 1024x1024 pixels stored without loss. Across the 92 PNGs in ComfyUI's examples repository that carry a workflow, the text was no more than 3.32 percent of any file, with a median of 0.62 percent. Converting to JPG shrinks the file, but ComfyUI's own loader can't read a workflow back out of a JPG. A WebP or AVIF can keep it, at about a tenth of the size. We took the text-to-image examples of ten models from ComfyUI's examples repository, made smaller copies several ways, and dropped the copies back onto ComfyUI 0.37.0's canvas to see which ones still held the workflow.

6 min read
Bar chart of mozex.dev's image bytes at Lighthouse's phone size: 63.7 KB in 2 files before scrolling, 653.5 KB in 9 files after, and a worked-out 107.1 KB with its own images resized and re-encoded for the phone and the hidden one skipped.

How to find large images on a website: three tools gave us three different lists

On 22 September 2026 we loaded mozex.dev, the site of Mozex Labs, which runs Iminify, at the phone size Lighthouse emulates, and listed its images three ways: Chrome's network log, Lighthouse and a console snippet. Before any scrolling, Chrome had fetched 2 image files, 63.7 KB. After we scrolled to the bottom, it had fetched 9 files, 653.5 KB. Lighthouse's phone runs requested 7 and never the two heaviest, 340.8 KB between them. The browser's own timing data put one image at 0 bytes. So the list you can trust comes from Chrome's Network panel, taken after a scroll. Every method here works on one page at a time, so run it on the pages you care about most.

8 min read
Bar chart of one photograph in bytes: 852,461 as served, against Lighthouse's target of 45,084 at its phone slot and encodes of 47,876 (JPEG), 46,320 (WebP) and 41,735 (AVIF).

Improve image delivery in Lighthouse: what it replaced and how it counts savings

PageSpeed Insights ran Lighthouse 13.5.0 on our home page on 22 September 2026 and flagged "Improve image delivery" in the mobile report: "Est savings of 1,300 KiB". All of it came from one photograph. The fjord shot in our before-and-after comparison is on the page twice, as the 832.5 KiB original and as our own compressed copy at 555.3 KiB. Both files are 1800x1200, and the report says they're displayed at 637x425. Three later runs that day said 1,359 KiB and 364x243. If your old notes say "Serve images in next-gen formats" or "Properly size images", this is where they went: Lighthouse 13 folded four image audits into this one insight. And its savings aren't measured: each figure is arithmetic on bytes and pixels. We reproduced every number in that insight, made the file it asks for, and traced one reason the same page gets two answers.

8 min read

Give your GIFs a lighter format

WebP is already selected. Drop an animation and watch the result play before you download it.