Back to Blog
Guide

How to Make an Emoji From a Video (Slack and Discord)

To make an emoji from a video, cut 1 to 2 seconds, crop it to a square, scale it to 128 x 128 and save it as a GIF under 128 KB for Slack or 256 KB for Discord. One tested ffmpeg command, the frame rate and color settings that decide the file size, and a free browser tool that shrinks the GIF for you.

Slack Green Team
September 28, 2026
September 28, 2026
5 min read
Share:
emoji
slack
discord

To make an emoji from a video, cut the clip to 1 or 2 seconds, crop it to a square, scale it to 128 x 128 pixels, and save it as an animated GIF. Emoji do not accept video files, so the GIF is the step that matters. Slack takes emoji up to 128 KB and 50 frames; Discord takes up to 256 KB. Frame rate and color count decide whether you fit: on our test clip, 2 seconds at 30 frames per second came out at 566 KB, and the same 2 seconds at 10 frames per second with 32 colors came out at 119 KB, under both limits.

You can do it with one ffmpeg command, below, or convert the clip to a GIF with any video-to-GIF tool and then drop the GIF into our free emoji resizer. The resizer keeps the animation, cuts frames and colors until the file is under 128 KB, and runs in your browser.

We build Slack Green, a presence tool for Slack, and a set of free emoji tools. We ran every command on this page with ffmpeg 8.1.1 on 28 September 2026.

How to make an emoji from a video: 1-2 second clip, 128 x 128 GIF, Slack 128 KB and 50 frames, Discord 256 KB

Why an emoji from a video has to be a GIF

Slack accepts JPG, PNG and GIF for custom emoji. Discord accepts JPEG, PNG, GIF and WEBP. Neither takes MP4 or MOV, so a video emoji is a short looping GIF made from the video's frames.

Frames from a test emoji made from a video: a 2 second clip at 12 fps, 128 x 128

The limits that matter:

SlackDiscord
File sizeUnder 128 KBUnder 256 KB
FramesUp to 50No frame limit in Discord's help
ShapeSquareSquare works best
NameLetters, numbers, hyphens, underscoresLetters, numbers, underscores

At 128 x 128, each frame of a busy clip costs several kilobytes, so the frame count sets the size. Fifty frames is 5 seconds at 10 frames per second, or about 1.7 seconds at 30.

Make an emoji from a video with ffmpeg

ffmpeg is free on Mac, Windows and Linux (on a Mac: brew install ffmpeg). This command takes 2 seconds starting at 0:01, crops the middle square, scales it to 128 x 128, and builds a GIF with a 32-color palette at 10 frames per second:

# 2 seconds from 0:01, square crop, 128 px, 10 fps, 32 colors
ffmpeg -ss 1 -t 2 -i clip.mp4 -vf "fps=10,crop=ih:ih,scale=128:128:flags=lanczos,split[a][b];[a]palettegen=max_colors=32[p];[b][p]paletteuse" emoji.gif

What each part does:

  • • -ss 1 -t 2 starts at 1 second and keeps 2 seconds. Change these to pick your moment.
  • • crop=ih:ih cuts a square as tall as the video from the center. For a vertical phone video use crop=iw:iw.
  • • scale=128:128 sets the emoji size.
  • • palettegen and paletteuse build a palette from the clip itself, which looks far better than GIF's default colors. max_colors=32 keeps the file small.
  • Check the result before you upload:

    ls -lh emoji.gif          # must be under 128K for Slack, 256K for Discord
    ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of csv=p=0 emoji.gif   # frame count, 50 or fewer for Slack

    Frame rate and colors decide the file size

    The same 2 second clip as a GIF emoji: 30 fps 566 KB, 12 fps 174 KB, 10 fps 119 KB, and our resizer 105 KB

    We made the same 2 seconds of a 1280 x 720 test video into a 128 x 128 GIF three ways:

    SettingFramesFile sizeFits SlackFits Discord
    30 fps, 256 colors60566.2 KBNoNo
    12 fps, 64 colors24174.4 KBNoYes
    10 fps, 32 colors20118.6 KBYesYes

    The test clip was a fractal zoom with fine detail in every frame, a hard case for GIF. If your file is still too big: shorten the clip first, then drop to 8 frames per second, then 16 colors, then 96 pixels. Emoji show small in chat, so each step is hard to see.

Never appear "away" on Slack again

Cloud-based. No downloads. Works 24/7 even when your laptop is off.

Make it without the command line

  • Turn the clip into a GIF. Any video-to-GIF converter works; on an iPhone, the Shortcuts app has a Make GIF action. Keep it short and square if the tool allows it.
  • Shrink it for emoji. Drop the GIF into our emoji resizer, pick 128 px and Crop to square or Fit whole image, and download.
  • Our emoji resizer on the 30 fps GIF: 566.2 KB and 60 frames in, 104.9 KB and 50 frames out, animation kept

    We gave the resizer the 30 fps file from the table, 60 frames and 566.2 KB. It returned a 64 x 64 GIF with 50 frames and 104.9 KB, under Slack's limits. It cut the frame count to Slack's 50 by spreading the kept frames across the clip, so the loop lasts as long as before. It lowered the size to 64 pixels to get under 128 KB; with a shorter or slower clip it stays at 128.

    To add an effect such as intensifies, spin or party to a still frame, use the emoji maker instead.

    Upload the video emoji

    Slack: click your workspace name, then Customize workspace, then Add custom emoji, and upload the GIF. The steps for desktop and iPhone are in how to add custom emoji to Slack. If Slack says the file is too big, see Slack GIF size limit. If the emoji does not animate after upload, see Slack GIF not playing.

    Discord: open Server Settings, Emoji, Upload Emoji, or use Add Emoji in the emoji picker. Animated emoji slots need Nitro or Nitro Basic on the server. The full steps are in how to make a custom emoji for Discord, and size errors in Discord emoji too big.

    FAQ

    Can you make an emoji from a video?

    Yes, as an animated GIF. Cut 1 to 2 seconds, crop to a square, scale to 128 x 128, and keep the GIF under 128 KB for Slack or 256 KB for Discord.

    Can I upload an MP4 as an emoji?

    No. Slack and Discord accept image formats only. Convert the MP4 to a GIF first.

    How long can a video emoji be?

    In Slack, 50 frames: 5 seconds at 10 frames per second. In practice the 128 KB size limit usually stops you first, at 1 to 3 seconds.

    Why is my video GIF too big for Slack?

    Too many frames or colors. Lower the frame rate to 10 or 8, cut the colors to 32, shorten the clip, or run it through the emoji resizer.

    How do I make a GIF emoji from a video on my phone?

    Make a GIF from the clip with a GIF app or the iPhone Shortcuts Make GIF action, then open the emoji resizer in your phone browser to shrink it to emoji size.

    Always Active

    Stop Jiggling Your Mouse.

    Join hundreds of remote workers who never worry about their Slack status. Set it up once, stay green forever.

    Related Articles

    Guide

    How to Make a Custom Emoji for Discord (From Any Image)

    To make a custom Discord emoji, crop an image to a square, keep it under 256 KB, name it with letters, numbers and underscores, and upload it with Add Emoji in the emoji picker or Server Settings, Emoji. How to make one from a photo, a GIF or text for free, add animation, and use it in other servers.

    Slack Green Team
    Guides

    How to Use Slack Block Kit Builder: Templates, Preview, Payload

    Slack's Block Kit Builder at app.slack.com/block-kit-builder lets you pick a template, add blocks, preview the message on Desktop or Mobile, and copy the JSON payload for a webhook or chat.postMessage. A walk through the current builder, a working deploy message, and the steps to send it.

    Slack Green Team
    Guide

    Can Slack Messages Be Subpoenaed? Yes, Here Is How It Works

    Yes. Slack messages, including DMs, can be requested in a lawsuit or an investigation. Most requests go to the company that owns the workspace, which exports them. Slack itself gives out message content only with a search warrant and tells the company first. Slack's own policy, its disclosure numbers, legal holds, and what deleted messages mean.

    Slack Green Team