Video to GIF for Slack

Tiny for custom emoji, or normal size for a channel post. Nothing is uploaded.

This page opens with the settings for a custom Slack emoji: 128 px wide, 10 fps, 128 colours, which lands a one-second clip well under Slack's size guidance. For a GIF that posts inline in a channel, pick the Chat or Demo preset instead — the same handles, the same preview.

Open the converter → Opens the converter set to 128 px wide at 10 fps. Drag the handles to pick the part you want.

Two different things people mean by "Slack GIF"

The first is a custom emoji: a small animated square that appears inline in text and as a reaction. Slack's guidance is a square image, and the smaller the file the better — under 128 KB is the number usually quoted, and files over that are rejected or fail silently depending on the client. At 128 px wide, 10 frames per second and 128 colours, a one-second loop from a video is typically 40–90 KB. Two seconds is about the practical maximum; beyond that you are trimming colours and frames to make it fit and it starts to look rough.

The second is a GIF posted in a channel as a file. That plays inline, loops, and can be a normal size — the Chat preset (320 px, 12 fps) is right for a reaction, Demo (640 px) for a short screen recording in a support channel. Slack shows an expanded preview and also lists the file in the channel's files, so a few megabytes is fine, but colleagues on the mobile app will thank you for staying under one or two.

Making an emoji that actually reads at 22 px

An emoji is displayed at about 22 pixels in text, so detail is lost — what survives is a strong shape, high contrast and a clean loop. Choose a moment with one clear motion: a nod, a wave, a spin. Drag the handles so the loop point is where the motion returns to its start, and step with the arrow keys until it does not stutter. Non-square video will be letterboxed by Slack; crop the source first if you want the emoji to fill the square.

If the estimate is over 128 KB: shorten the loop first, then drop the frame rate to 8, then colours to 64. Lowering the width below 128 px is the last resort, because Slack upscales small emoji and they go blurry. Upload the file in the workspace's emoji settings (Customize Workspace → Emoji) and give it a short name.

Frequently asked questions

What is the size limit for a Slack emoji?

Slack's own guidance is a square image under 128 KB. Larger files are refused. 128 px wide is the size Slack recommends; it is displayed much smaller in text.

My emoji looks blurry.

Two causes: the source was smaller than 128 px and got upscaled, or the width was reduced below 128 to hit the size limit. Fix the size by shortening the loop and lowering the frame rate instead.

Can I post a GIF in a channel from here?

Yes — pick Chat or Demo, convert, download, and drag the file into the message box. It plays inline and loops.

Does Slack accept the loop setting?

Yes. "Loop forever" (the default) is read from the file. Turn it off under Advanced for an emoji that plays once, though most people expect emoji to loop.