What the GIFvideo → gif, the way creatives need it
animated discord emoji

An animated emoji is a 32 pixel problem wearing a 128 pixel file

The byte cap is not what beats people. What beats people is uploading a beautiful two second clip and finding that at emoji size it reads as a grey smudge doing something.

Drop a video, get a GIF free · frame-perfect · nothing leaves your browser Open the converter →

Make an animated Discord emoji from a video clip

What the GIF does the whole thing locally, right in your browser: nothing here ever leaves your machine.

  1. Pick one second of one motion. Trim to the single gesture the emoji is about. Two seconds is the outer limit and one is often better, since an emoji is read at a glance rather than watched.
  2. Crop to 1:1, tighter than feels right. Lock the crop to the square ratio and pull it in around the subject alone. Background is wasted budget at this size.
  3. Type 128 into the width field. Set the output dimensions explicitly rather than using the percentage slider, so you control how the downscale looks.
  4. Set 12 to 15 fps and cut the palette. Drop colors to 64 or 32 and ease off dithering, since scattered pixels read as dirt once the emoji is drawn at roughly 32 pixels.
  5. Check it at thumbnail size. Shrink the preview or step back from the screen. If the motion is not obvious in half a second, recrop rather than adjusting settings.
  6. Export and confirm it is under 256KB. Glance at the size estimate before uploading, since Discord rejects an oversized file rather than compressing it for you.

Design for the window it lands in, not the one you upload

Discord asks for something around 128 by 128 and then draws it in chat at roughly a quarter of that. Your emoji spends its life about the size of a lowercase letter, surrounded by text, moving in somebody's peripheral vision while they read. It appears larger in the picker and when a message contains nothing else, but those are exceptions and you should not design for them.

Which rules out most of what makes a good clip. Facial expression at 32 pixels is two dark smudges and a mouth. Backgrounds survive as noise. Text of any size is gone, so the caption tools that carry a meme are the wrong instrument here, and it is better to say so than to sell them to you. What survives is silhouette, one strong color against a contrasting one, and exactly one motion: a nod, a spin, a thumbs up entering frame, a thing falling over.

The test is free. Build the loop, then shrink the browser window until the preview is thumbnail sized. If you cannot tell what is happening in half a second, the answer is a tighter crop or different footage, not a different setting.

Why 256 kilobytes is roomier than it sounds

The cap reads as brutal next to the megabytes people usually argue with. Run the arithmetic and it softens. A 128 square frame holds 16,384 pixels. A conventional 480 by 270 GIF frame holds about 129,600, roughly eight times more. Cost scales with pixels, so per second of runtime an emoji sized loop is about an eighth the price of a normal one, which very nearly cancels out the smaller budget.

Scaling this site's measured encodes down by area, even grainy camera footage lands near 4 seconds inside 256 KB at emoji dimensions, and flat animation has room to spare. Since a good emoji runs one to two seconds anyway, you will usually be well under the cap without doing anything clever. The corollary matters more: do not wreck the emoji chasing bytes you did not need to save. Grinding to 16 colors on a loop that was already 90 KB buys nothing and costs legibility exactly where legibility is scarce.

Crop square, then set the width by hand

Almost every source is a rectangle and every emoji is a square, so something gives. Downscaling 16:9 into a square either squashes it or leaves bars, and bars here are a quarter of your emoji spent on nothing. Crop instead. The crop tool locks to exact ratios, so choose 1:1 and pull the box tight around the one thing this is about. Tighter than feels right. If the subject is a face, the crop is the face, not the person.

With the shape settled, set the output size explicitly rather than dragging a percentage slider toward roughly the right place. The width and height fields take exact numbers, so type 128 and let the square follow. The same instinct applies to motion: a loop that pans or zooms spends its budget on travel, while a loop where the subject holds still and one thing changes reads instantly. If your footage has a moving camera, crop to follow the subject or pick a different second.

Settings that survive the shrink

A short list, since the usual GIF advice was written for files ten times this size:

If it still needs shaving, Extra Compression at Light is the last stop. Anything stronger is grain, and grain on a 32 pixel image is a large fraction of the image.

What this cannot do for you

It makes the file. It does not talk to Discord. Nothing here uploads the emoji, claims a slot, or knows whether your server has animated slots free, and servers do get a fixed number with boosting raising the ceiling. Using a custom emoji outside the server it lives in is a Nitro feature and always has been, which is Discord's business model rather than something a converter routes around. Check their current limits before planning a set of twelve.

What it does do is hand you an unbranded file. Nothing is stamped on the export, which is worth more here than almost anywhere: a corner mark on a 128 pixel square is not a credit, it is a third of the emoji. And the job runs inside your tab, which matters because the good emoji come from footage you would never post publicly, the clip of a colleague at the offsite or two seconds from a stream. That file goes from your disk to your disk. Start at the tool, or read the wider Slack and Discord guide for the sizes those platforms want in ordinary messages.

One motion, one second, 128 square.

Crop it tight, cut it short, and export a loop that still reads at the size Discord actually draws it. No account, no upload, no watermark eating the corner.

Open the converter

Questions, answered

What size should a Discord emoji GIF be?
Around 128 by 128 pixels and under 256 KB. Discord draws it at roughly 32 pixels in chat, so the upload size is mostly about controlling the downscale yourself rather than about detail anyone will see.
Why does my emoji look like a blur?
Almost always the crop, not the settings. A wide frame squeezed into a square spends most of its pixels on background, and heavy dithering adds scattered noise that turns to mud at small sizes. Crop tight around one subject and ease the dithering down.
Can I put text on an animated emoji?
You can add text overlays, but you should not. Type is unreadable at roughly 32 pixels, so letters become a grey band. Save captions for GIFs posted at full size and let the emoji carry a shape instead.
How do I stop the loop from jumping when it restarts?
Either trim so the last frame lands close to the first, which is easiest when the motion has a natural cycle, or turn on Bounce for that clip. Bounce runs the motion out and brings it home within the same pass, which leaves nothing for the wrap to give away.
Will this upload the emoji to my server?
No. It produces the .gif file on your machine and stops there. Adding it to a server, claiming an animated slot, and any Nitro requirement for using it elsewhere are all handled on Discord's side.
Does the emoji get a watermark?
Never. Nothing is stamped onto any export here, which matters at emoji scale where a corner mark would occupy a serious share of the image.