Skip to content
Plaintools

GIF compressor

Upload or drop any GIF to compress it entirely in your browser. Choose your preferred dimension scaling, palette size (16 to 256 colors), and frame sampling rate. The tool processes each frame in memory using an efficient client-side palette quantizer and re-encodes a compact GIF89a file ready for download.

Drag and drop a GIF file here

Everything happens client-side. The file never leaves your device.

GIF compressor example

2.5 MB Discord reaction GIF

Scaling from 480px to 360px (75%), reducing palette from 256 to 128 colors, and dropping every 2nd frame shrinks a 2.5 MB animated GIF down to 850 KB (a 66% file size reduction) while maintaining smooth playback.

GIF compressor how-to

  1. Stay on this page. GIF compressor runs in the tab.
  2. Enter or drop your input here. The file or text is not posted to a server.
  3. Copy or download the result when it appears.

Related tools

Convert

HEIC converter

Convert iPhone HEIC/HEIF photos to JPEG or PNG in the browser.

Convert

Image compressor

Compress JPEG, PNG, and WebP images with adjustable quality, scaling, and live file size preview.

Convert

PDF to JPG converter

Convert PDF pages into high-resolution JPG images client-side. Download single pages or a multi-page ZIP.

Convert

Video compressor

Compress and shrink MP4, MOV, and WebM videos client-side using WebAssembly. Files never leave your device.

Convert

Audio converter

Convert audio files to MP3, WAV, AAC, OGG, and FLAC client-side using WebAssembly. Files never leave your device.

Convert

WebP converter

Convert PNG, JPG, and GIF images to WebP, or convert WebP to PNG/JPG in your browser using canvas. Files never leave your device.

People also use

Convert

Picture to text converter

Extract text from images using optical character recognition (OCR) client-side with Tesseract.js. Files never leave your device.

Convert

PDF to PNG converter

Convert PDF pages into high-resolution, lossless PNG images client-side. Download single pages or a multi-page ZIP.

Convert

PNG to JPG converter

Convert PNG images to JPG/JPEG in your browser using canvas. Quality slider, background color for transparency, zero server upload.

Convert

JPG to PNG converter

Convert JPG and JPEG images to lossless PNG in your browser using canvas. Client-side, privacy-first, no uploads.

GIF compressor FAQ

What is a GIF compressor?
A GIF compressor reduces the file size of a GIF by lowering its dimensions, the number of colours and the frame rate. This one does that in your browser: scale the picture, pick a palette from 16 to 256 colours and optionally drop frames (playback length stays the same), then download the result. The file is never uploaded.
Does this GIF compressor upload my file to a server?
No. The GIF file is read into memory as a Uint8Array in your browser tab. Frame extraction, color quantization, and GIF re-encoding all execute on your machine. Nothing is uploaded or logged.
How does client-side GIF compression work?
GIF file size is governed by dimensions (width × height), number of frames, and palette size. Plaintools reduces file size by downscaling frame dimensions, grouping colors into a smaller palette (e.g. 128 or 64 colors) using median-cut quantization, and optionally skipping redundant frames while preserving playback speed.
Will dropping frames make my GIF run too fast?
No. When frames are skipped, the delay duration of the dropped frames is added to the retained frames. The overall animation duration and playback timing remain unchanged.
What is the maximum GIF file size supported?
Because decoding occurs entirely in browser memory, GIFs up to 30–50 MB can typically be processed smoothly on desktop devices. For very large GIFs with hundreds of frames, choosing a 50% scale or frame drop significantly speeds up processing.
How do I compress a GIF without this page?
Read binary buffer with a GIF decoder (like GifReader). Extract width, height, and frame delays. For each frame, decode RGBA pixels. Scale frame dimensions to target width/height on an HTML5 canvas. If dropping frames, accumulate the delay into the kept frames. Quantize RGB colors across frames into a power-of-two palette (e.g. 128 colors) via median-cut or k-means. Map pixels to palette indices (optionally with Floyd-Steinberg error diffusion). Re-encode using GifWriter with the new palette and delays, and save the binary buffer. No upload required.
Does the GIF compressor preserve transparent backgrounds?
Yes. The compressor checks each frame for alpha transparency. If transparent pixels are detected, it reserves a dedicated transparency index in the quantized color palette so transparent stickers and floating badges remain crisp after compression.
Why are GIF files often much larger than MP4 videos?
The GIF format dates to 1989 and uses lossless LZW compression per frame without modern inter-frame motion prediction. Every frame stores raw pixel indices, making GIFs vastly heavier than modern H.264, VP9, or WebM video clips of equal length.