GIF to Emote Converter

One-click emote prep for Twitch, Discord, Kick, 7TV, BTTV, and FFZ — pick a platform, drop in a file, get a properly sized and compressed download.

Drag & drop a GIF here

or click to browse files

Target Platform

Twitch Animated Emote

112px (Twitch auto-resizes)|1 MB|GIF|Max 60 frames

Upload one square GIF, 112–4096px. Twitch generates 28/56/112px sizes automatically.

Twitch Static Emote

112px (Twitch auto-resizes)|1 MB|PNG|Max 1 frames

Upload one square PNG, 112–4096px. Twitch generates 28/56/112px sizes automatically.

Twitch Sub Badge

18px, 36px, 72px|25 KB|PNG|Max 1 frames

Upload all three sizes separately. Twitch does not auto-resize badges.

Discord Emoji

128px|256 KB|GIF / PNG

Kick Emote

500px (Kick auto-resizes)|1 MB|GIF / PNG

Upload one square image up to 500x500px. Kick generates 32/64/128px sizes automatically.

Upload a GIF or select one from search

Emote Size Requirements by Platform

PlatformDimensionsMax SizeFormat
Twitch (animated)112px (auto-resizes to 28/56/112)1 MBGIF
Twitch (static)112px (auto-resizes to 28/56/112)1 MBPNG
Twitch (badges)18, 36, 72px25 KB eachPNG
Discord128px256 KBGIF / PNG
Kick500px (auto-resizes)1 MBGIF / PNG
7TV128px (recommended)VariesGIF, AVIF, WebP
BTTV112-128px1 MBGIF / PNG
FFZ128x128px (recommended)VariesGIF / PNG
YouTube128x128px1 MBGIF / PNG

Emote too large? If your Twitch animated emote is over 1 MB or your Discord custom emoji exceeds 256 KB, use Smart Compress to reduce the GIF file size automatically. Our GIF optimizer handles compression so you never have to worry about upload limits.

Don't have a GIF yet? Search our GIF library to find the perfect animation for your emote.

How the Emote Optimizer Works

The Optimizer collapses what would normally be a four-tool workflow into a single screen. After you drop in a GIF (or static PNG/JPEG), the page decodes the source frames in the browser and detects the natural dimensions and aspect ratio. From there the panel on the left exposes the four decisions that matter — pick a target platform, optionally trim the animation to a specific frame range, optionally crop a region, and optionally pick a non-default resize mode if the source is non-square.

When you click "Optimize & Download", the Optimizer encodes every required output size for the chosen platform — for example, Twitch animated emotes get 28x28, 56x56, and 112x112 in one pass. Each output is then handed to the integrated Smart Compress pipeline, which checks the file against the platform's size limit (1 MB for Twitch, 256 KB for Discord, and so on) and progressively applies eleven reduction strategies until the file fits, starting with lossless re-encoding and only falling back to lossy compression when the size budget demands it.

When to Use the Optimizer vs. an Individual Tool

The Optimizer is the right choice when you have a GIF and need a finished emote: one click from any source to a platform-ready file, with all the resize-mode, file-size, and crop-region decisions made for you against known platform constraints. If your goal is "make this work on Discord", come here.

The individual tools are the right choice when you want manual control over a single transformation. Reach for /tools/compress when you want to pick exactly which compression strategies to run; for /tools/resize when you need exact pixel dimensions outside the platform presets; for /tools/trim when you want a frame-accurate cut without involving any other transform; and for /tools/crop when you need to inspect the cropped region by itself before downstream changes.

Common Problems

Twitch emote too large?

If your GIF exceeds Twitch's 1 MB limit, use the Smart Compress feature to automatically reduce the file size. The compressor trims frames, lowers color depth, and adjusts quality until your emote fits. This also works when your 7TV emote upload size or BTTV emote dimensions don't meet platform requirements.

Discord emoji too big?

Discord requires custom emoji under 256 KB at 128x128 pixels. Upload your image and the Optimizer will compress it automatically. If the result is still too big, Smart Compress will keep reducing until it fits Discord's limit.

How to upload emotes to Twitch?

After preparing your emote here, go to the Twitch Creator Dashboard, navigate to Viewer Rewards > Emotes, and upload your optimized files. Twitch accepts GIFs between 112x112 and 4096x4096 pixels, under 1 MB.

Frequently Asked Questions

What size do Twitch animated emotes need to be?

Twitch animated emotes must be uploaded as a 112x112 GIF under 1 MB. Twitch then automatically derives the smaller 56x56 and 28x28 variants from your upload. The Optimizer's Twitch preset exports all three sizes pre-rendered so you can verify each one before submission.

What's the maximum file size for Discord custom emoji?

Discord caps custom emoji at 256 KB, regardless of whether the file is a static PNG or an animated GIF. Animated emoji also require Discord Nitro to upload. Pick the Discord preset and Smart Compress will target the 256 KB ceiling automatically.

Can I make a Kick emote here?

Yes. Pick the Kick preset on the platform selector and the Optimizer renders a 500x500 file at the 1 MB limit. Kick auto-resizes the upload to display sizes the same way Twitch does.

Does the Optimizer support 7TV, BTTV, and FFZ?

Yes. Each of the three has a dedicated preset. Output dimensions are 128x128 for 7TV and FFZ, and 112x112 for BTTV by default — you can override the size in the resize mode selector if a creator profile uses a non-default dimension.

Can I upload a static PNG instead of a GIF?

Yes. The Optimizer detects whether the source is animated and disables animated-only platforms automatically when you upload a static image. Use a static PNG or JPEG to produce static emote outputs (Twitch static, Discord static emoji).

Can I crop a GIF before resizing it?

Yes. After uploading, toggle the Crop Image switch and drag a region on the source preview. The crop is applied first, then the resize and compression steps run on the cropped output, which produces a noticeably better emote when the subject is off-center in the source frame.

How do I download all required Twitch emote sizes (28, 56, 112) at once?

Click "Download All Sizes" after the optimization completes. The Optimizer packages every rendered size for the selected platform into a single download so you don't have to save each variant individually.

Do my files leave my device?

No. The Optimizer runs the entire decode-trim-crop-resize-compress pipeline in your browser using WebAssembly and OffscreenCanvas. There is no upload step — see how the in-browser pipeline works for the technical detail.

Related Tools