Discord Emoji Maker

Choose a picture or GIF

PNG, JPG, WebP or GIF. Or drag it here, or paste it.

No file handy? Try a sample:

Samples are small files we made for testing.

Make it square

Your picture shows up here once you pick it.

Name it

    People will type :my_emoji: to use it. The download gets this name too.

    Make the emoji

    Choose a picture first.

    Runs in your browser with gifsicle 1.95 for GIFs (GPL-2.0: license and build notes, source code), gifuct-js (MIT) and gifenc (MIT). Nothing is uploaded.

    By Cobra · Last updated

    Making an emoji, start to finish

    1. Choose a picture or GIF. PNG, JPG, WebP and GIF all work. You can also drag the file onto the box or paste it.
    2. Make it square. Fill crops a square out of the picture: drag it to move the crop, use Zoom to go in closer, or use the arrow keys. Fit keeps the whole picture and leaves the extra space clear. Turn on Pixel art for sprites and pixel drawings so the edges stay hard.
    3. Name it. Type the name people will use between colons. If Discord would refuse it, the page says why and offers a cleaned version. The download uses that name, so the upload dialog fills it in for you.
    4. Make the emoji. Pictures update on their own. For a GIF, tap Make emoji. Check the dark and light previews, then tap Download. Upload it in Server Settings under Emoji, or through Add Emoji in the emoji picker on desktop and in the browser.

    Seven test files, one emoji each

    We ran these through the page on October 23, 2026 in desktop Chrome. Every file came out at 128 × 128 and under 256 KB, and each downloaded file was checked for its real pixel size and byte count afterward. Input sizes are in KB and MB (1,000 bytes per KB); results are in KiB (1,024 bytes), the unit Discord's developer docs use. The GIFs were made for testing, and the noisy ones are close to the worst case for GIF.

    InputEmoji outWhat it took
    PNG photo, 1200 × 800, 9.7 KBPNG, 6.5 KiBCropped and resized, full color
    Transparent GIF, 256 × 256, 28 frames, 39 KB35.0 KiB, all 28 framesLossless, 1 encode, 0.2 s
    GIF, 480 × 270, 48 frames, 494 KB138.8 KiB, all 48 framesLossless, 1 encode, 0.5 s
    GIF, 320 × 320, 38 frames, 435 KB231.0 KiB, all 38 framesLight compression, 2 encodes, 0.9 s
    Smooth gradient GIF, 600 × 600, 80 frames, 3.2 MB249.2 KiB, all 80 framesCompression 170, 128 colors, 7 encodes, 4.7 s
    Noise GIF, 400 × 400, 90 frames, 10.8 MB219.2 KiB, 45 framesCompression 200, 128 colors, every 2nd frame, 7 encodes, 38.2 s
    Noise GIF, 600 × 600, 80 frames, 20.3 MB213.0 KiB, 40 framesCompression 200, 128 colors, every 2nd frame, 7 encodes, 33.5 s

    Worked example. The 400 × 400 noise GIF is 10,789,752 bytes with 90 frames. At full 128 × 128 the page tried a lossless pack first, then stronger compression, then fewer colors. None of that fit with all 90 frames, so it kept every 2nd frame and slowed each one down so the loop runs at the same speed. Result: 224,446 bytes (219.2 KiB), 45 frames, 7 encodes, 38.2 seconds. With Allow smaller than 128 × 128 turned on, the same file came out at 80 × 80 with all 90 frames, 223,714 bytes, in 38.7 seconds. Since Discord shows emoji at 32 × 32, the smaller one usually looks better in chat because the motion stays smooth.

    The same switch helped the 300 frame, 18.5 MB test GIF most: at 128 × 128 it needed every 4th frame (75 frames, 225.6 KiB), while at 64 × 64 it kept every 2nd frame (150 frames, 205.6 KiB). Times depend on your device. Phones are slower, and long noisy GIFs take the longest.

    What Discord accepts for custom emoji (checked October 23, 2026)

    RuleDiscord saysSource
    File sizeUnder 256 KB (the developer docs say 256 KiB, and bigger uploads fail with an error)Adding custom emoji, developer docs
    Size in pixelsUpload up to 128 × 128; Discord resizes emoji to 32 × 32Emoji FAQ
    File typesJPEG, PNG, GIF and WebPAdding custom emoji
    NameAt least 2 characters, letters, numbers and underscores only; the API caps names at 32Adding custom emoji, Discord API spec
    Slots per server50 static by default, plus 50 animated slots with Nitro or Nitro BasicAdding custom emoji
    Who can add themThe server owner, or members with Manage Emojis or Create ExpressionsAdding custom emoji
    Using emoji in other serversNeeds Nitro or Nitro Basic; without it, emoji work only in their own serverAdding custom emoji
    Big emojiA message of only emoji (up to 27) shows them larger, except in Compact modeEmoji FAQ

    Discord's help page says KB and its developer docs say KiB, which are 256,000 and 262,144 bytes. This page aims for 256,000 bytes so the file passes either way. If the upload dialog in your app shows a different rule, trust the dialog.

    Fill, Fit and pixel art

    Emoji are square, and most pictures are not. Fill is the usual choice: it crops a square, so the subject fills the whole emoji and reads well at 32 pixels. Fit is for logos and wide text where cutting anything off would ruin it. The picture shrinks to fit inside the square and the spare space stays see-through, so it blends into both the dark and light themes.

    Resizing normally smooths edges, which is right for photos and drawings. For pixel art it turns crisp sprites into mush, so the Pixel art switch keeps each pixel a hard block instead. It looks best when the art is a whole multiple of the final size, like 32 or 64 pixels across.

    Names Discord will take

    The name is what people type, like :party_cat:. Spaces, dashes, dots, accents and emoji in the name get refused. The page swaps runs of those for a single underscore, turns accented letters into plain ones (Ünïcode becomes Unicode), trims the result to 32 characters, and adds _emoji if only one character is left. A name made entirely of symbols becomes my_emoji, so you will want to type your own.

    Where this falls short

    Need a sticker, a shorter GIF for chat, or a banner instead? The Discord GIF compressor handles those sizes, and the Discord tools page has every Discord limit in one table.

    ToolPetal is not affiliated with, endorsed by, or sponsored by Discord. Discord is a trademark of Discord Inc. Limits can change; we link to Discord's own pages so you can check.

    Questions about Discord emoji

    What size should a Discord emoji be?

    Upload it at 128 x 128 pixels and under 256 KB. Discord's help pages say emoji can be uploaded at up to 128 x 128 and are resized to 32 x 32 in chat. This page makes a 128 x 128 file under 256,000 bytes, which passes both the KB and KiB versions of the limit.

    Does this emoji maker upload my picture?

    No. Cropping, resizing and GIF compression all run inside your browser. The picture never leaves your device.

    Why does Discord say my emoji name is invalid?

    Emoji names can only use letters, numbers and underscores, and need at least 2 characters. Discord's API also caps names at 32 characters. Spaces, dashes, dots and accents are the usual culprits. The name box shows which rule fails and offers a cleaned name you can use.

    Can I make an animated emoji from a GIF?

    Yes. Choose a GIF and tap Make emoji. The page keeps all frames when it can and only drops frames as a last resort, keeping the same speed. Discord's help page says servers get 50 animated emoji slots on top of the 50 static ones with Nitro or Nitro Basic.

    My GIF is still too big. What now?

    Turn on Allow smaller than 128 x 128 and tap Make emoji again. Discord shows emoji at 32 x 32, so a smaller animated emoji often looks the same in chat and keeps more frames. Trimming the GIF to its best second or two also helps a lot.

    Will the background stay transparent?

    Yes, if the picture has a transparent background. Stills come out as PNG with soft edges kept. GIF transparency is all or nothing, so soft shadows become a hard edge. Fit mode also leaves the space around the picture transparent.