Playcut v2 is coming MCP · Actor v2 · & much more
Free Tool

GIF File Size Reducer

Name the ceiling and let the tool find the settings. Pick 20 MB for Discord, 256 KB for a custom emoji, or type your own number — then this GIF file size reducer encodes your file at progressively lower quality until one attempt actually fits, and shows you every attempt it made. Nothing is uploaded.

Drop a GIF here, or choose a fileRuns in your browser. Nothing is uploaded.

How to lower GIF size to a specific number

Drop the GIF, pick a target size, press the button. The tool re-encodes your file at thirteen preset quality steps — from full size at 256 colours down to quarter size at 16 colours — and stops at the first step that lands under your number. You download that file.

That reversal is the point. You are not guessing which combination of scale, palette and frame rate adds up to 8 MB — you state the number, and the search finds the settings.

Pick a preset or type your own ceiling

The preset buttons carry the published upload limits for Discord, Slack, X and Giphy, plus a working rule for email, so a GIF under 256 KB for a Discord emoji is one click rather than a lookup. The custom field takes any number with a KB or MB toggle — for a ceiling that came from a CMS, an ad spec or a client brief.

Each preset number, with its source and the date we checked it, is set out in the GIF size limit on each platform reference.

Read the attempts table

After a run, every rung the search touched appears in a table: scale, colour count, frames survived, encoded size, and whether it fit. The winning row is highlighted. Rows above it are quality you could not afford; the search stopped as soon as one worked.

Why the search encodes instead of estimating

No tool can predict a GIF's final size from a formula. GIF stores palette indices compressed with LZW, a dictionary coder whose output length depends on how repetitive the indexed pixel stream turns out to be after quantisation. Two clips with identical dimensions, frame counts and palettes can differ several-fold in bytes.

So this tool measures rather than predicts. Each rung is a full encode, and the number in the table is the byte length of a real file. That is slower than an instant slider — and the only way to promise a file under 256 KB and mean it.

The quality ladder the search walks

The ladder is ordered best-first, so the first fit is also the best-looking fit. Each rung trades one of three things: output scale, palette size, or frames kept. Every trial uses a single global palette shared across frames, which is markedly smaller than per-frame palettes on most real footage.

Rung Scale Colours Frames kept
1 100% 256 every frame
2 100% 128 every frame
3 85% 128 every frame
4 75% 128 every frame
5 75% 64 every frame
6 60% 64 every frame
7 60% 64 every 2nd frame
8 50% 64 every 2nd frame
9 50% 32 every 2nd frame
10 40% 32 every 2nd frame
11 35% 32 every 3rd frame
12 30% 16 every 3rd frame
13 25% 16 every 4th frame

The first two rungs cost almost nothing visually: halving a 256-colour palette to 128 is usually invisible on video-sourced footage. The middle rungs scale the frame down, where a viewer first notices. The bottom rungs drop frames — the loudest change of the three.

Platform size targets worth aiming at

These are the published ceilings behind the preset buttons. They are upload limits, not quality advice — a file that squeaks under a cap can still look worse than it needs to, so aim a little below the line where you can.

Platform Context Limit What actually happens
Discord Free 20 MB Raised from 10 MB on 13 August 2026 (the 10 MB limit dated from a 2024 cut from 25 MB). Mobile uploads are now measured before compression, as on desktop.
Discord Nitro 500 MB Nitro Basic is 50 MB; full Nitro is 500 MB.
Discord Custom emoji 256 KB 128 × 128 is the recommended size, not a hard cap; Discord compresses an emoji that is a bit bigger. Using animated emoji needs Nitro.
Slack Custom emoji 128 KB Slack says square images under 128 KB “work best”, so this is a recommendation, and it publishes no pixel size. GIF emoji can have up to 50 frames.
X (Twitter) Desktop upload 15 MB Mobile uploads are capped at 5 MB. One GIF per post, and it cannot share a post with other images.
Giphy Upload 100 MB GIPHY recommends 8 MB or less. Uploads are also capped at 15 seconds (6 or less recommended).
Email Newsletter body 1 MB A working rule, not a published limit. Outlook for Windows 2007–2019 does not animate GIFs at all.

Two deserve a caveat. Giphy accepts 100 MB but stops animating feed previews well below that, so its practical target is nearer 8 MB. The email row is a working rule, not a published spec.

What to do when nothing fits

Sometimes the ladder runs out. A long clip at a large frame size often cannot reach 256 KB at any setting this tool exposes, and pretending otherwise would waste your afternoon. When that happens the tool says so, prints the smallest size it managed, and tells you how far over you still are.

Shorten the clip

Length is the one variable the search never touches, and it is the most powerful one. Half the duration is roughly half the bytes, with no visible quality cost at all. If your GIF came from a video, re-export a tighter cut in the browser-based video to GIF converter before running the size search again.

Crop instead of scaling down

Scaling shrinks everything, including the part you care about. Cropping removes only dead space. If your clip has letterboxing, a browser chrome bar or empty background, cut it in the GIF cropper first — you will usually gain a rung or two on the ladder for free.

Use MP4 or WebM instead

GIF is a 1987 format with no motion compensation, which is why an equivalent MP4 is routinely ten to twenty times smaller. Discord, Slack and X all autoplay uploaded video silently in a loop, so the reader cannot tell the difference. Use GIF when the destination genuinely requires it — a custom emoji, an email body, a README. Everywhere else, convert the GIF to MP4 instead.

For a static picture rather than an animation, use the image compressor. To hand-tune scale, palette and frame rate yourself instead of naming a target, the manual GIF compressor exposes the same engine as sliders.

GIF file size reducer FAQ

How do I lower GIF size to an exact number like 8 MB?

Drop the file, type 8 into the custom field with MB selected (or pick a platform preset such as Discord's 20 MB), then run the search. The tool encodes your GIF at each rung of a thirteen-step quality ladder and hands back the first file under the number you typed. Every rung is a real encode, so the size it reports is the size you download.

Why can't a tool just calculate the settings for me?

GIF stores palette indices compressed with LZW, a dictionary coder whose output length depends on how repetitive the indexed pixels turn out to be. A flat screen recording and a grainy camera clip with identical dimensions, frame counts and palettes can differ several-fold in bytes. No closed-form estimate survives that, so this tool encodes and measures instead of predicting.

How is this different from the GIF compressor?

The compressor is manual: you move colour, scale and frame controls and watch the size change. This page is the reverse — you name the size and it finds the controls. Use the compressor when you want a specific look, and use this when you want a specific number of bytes.

Can I get a GIF under 256 KB for a Discord emoji?

Often, if the clip is short. A two-second loop usually reaches 256 KB somewhere in the middle of the ladder. A long clip at a large frame size often will not, no matter how far the settings drop, because length is the one variable the search never changes. Trim first, then run it.

Does the tool upload my GIF anywhere?

No. Decoding, every trial encode and the download all happen in your browser tab. The file never leaves your machine, which is also why the search takes a few seconds per rung on a long GIF — your CPU is doing the encoding, not a server.

Why did the result lose frames?

The lower rungs of the ladder keep only every 2nd, 3rd or 4th frame and fold the dropped frames' delays into the survivors, so the animation still runs for the same length of time at a lower frame rate. If the motion looks choppy, raise the target size or shorten the clip so the search can stop on a higher rung.

What is the largest GIF this handles?

Up to 100 MB, about 2.07 million pixels per frame (1920 × 1080 or the same pixel count) and 600 frames. All decoded frames must also fit a 512 MB memory budget, so a full 1920 × 1080 GIF can run to about 64 frames and smaller frames can run longer. These are browser-tab memory ceilings: a file past any of them is refused before decoding starts.

Making the clip in the first place?

Generate the source video in Playcut's multi-model studio, export a short loop, then bring it back here to hit your size ceiling. The free tools library covers the rest of the pipeline.

Open the Playcut studio