
A Discord custom emoji should be a square image, ideally 128×128 pixels, saved as PNG (or GIF for animated), and no larger than 256 KB. Stickers are bigger: 320×320 pixels and up to 512 KB, as PNG or APNG. If your upload is rejected, it is almost always the file size, not the dimensions, so the fix is usually to resize first and compress second.
This guide covers the exact numbers, why your emoji looks blurry or gets cropped, and a free way to get any image into shape without installing an editor.
Discord emoji and sticker sizes at a glance
Discord publishes these limits in its help centre and in the upload dialogs. They have been stable for a long time, but if the upload screen in your app shows something different, trust the app.
| Item | Recommended dimensions | Max file size | Formats |
|---|---|---|---|
| Custom emoji (static) | 128×128 px, square | 256 KB | PNG, JPG, WebP |
| Custom emoji (animated) | 128×128 px, square | 256 KB | GIF (WebP animation is also accepted in current clients) |
| Server sticker | 320×320 px, exactly | 512 KB | PNG, APNG (and Lottie for official stickers) |
| Server icon | 512×512 px or larger | Large uploads are accepted, but keep it modest | PNG, JPG, GIF (animated needs a boosted server) |
A few related rules trip people up. Emoji names must be at least two characters and can only use letters, numbers and underscores. Each server has a limited number of emoji slots, and more slots unlock as the server gains boost levels. Anyone can see animated emoji, but using them outside their home server, or using animated emoji at all, needs Nitro.
Why 128×128 when emoji display so small?
Emoji show at around 22 to 48 pixels in chat, depending on whether they sit inline or alone in a message ("jumbo" emoji). So why upload 128 pixels? Because Discord scales them down for each context, and on high-density phone and laptop screens a 48-pixel emoji is actually drawn with two or three times as many physical pixels. Starting at 128×128 keeps edges crisp everywhere. Uploading something larger, say 1000×1000, does not make it sharper; it just makes the file heavier and more likely to break the 256 KB cap.
Step 1: make the image square
Discord does not crop for you in a clever way. A rectangular image either gets squashed or padded, so your emoji ends up looking thin or tiny. Crop it to a square first, centred on the part that matters (a face, a logo mark, a reaction expression).
The Image Cropper has a 1:1 preset: drag the box over the subject and export. Leave a little breathing room around the edge, because a design that touches all four sides looks cramped once Discord rounds it into a chat line.
Step 2: resize to 128×128 (or 320×320 for stickers)
With a square image, set the exact pixel size. Open the Image Resizer, enter 128 for width and 128 for height, and download. For a sticker, use 320×320. Because the source is already square, nothing gets stretched.
Resizing alone usually brings a photo from several megabytes down to well under the limit. A 128×128 PNG of a simple cartoon is often only a few kilobytes.
Step 3: remove the background if you want a clean cut-out
Emoji look best when the background is transparent, so they sit naturally on both dark and light themes. A white square around your cat photo looks like a sticker someone forgot to peel. The Background Remover uses AI to cut out the subject and gives you a transparent PNG. Do this before the final resize so the edges are traced at full resolution, then resize the cut-out to 128×128.
Transparency only survives in formats that support it. Save as PNG, not JPG, or the transparent areas will be filled with a solid colour.
Step 4: compress if it is still over 256 KB
If Discord still says the file is too large, compress it. The Image Compressor handles PNG, JPG and WebP and usually gets large reductions with little visible change. At emoji size, small compression artefacts are close to invisible.
Static images rarely need this step after resizing. Animated GIFs are a different story.
Animated emoji: getting a GIF under 256 KB
Animated emoji are where most people hit the wall. Every frame of a GIF is stored as its own image, so a three-second clip at 30 frames per second can easily weigh several megabytes even at small dimensions. What actually shrinks a GIF:
- Make it short. One to two seconds that loops cleanly is ideal for a reaction.
- Make it small. Build it at 128×128 from the start rather than shrinking a large GIF later.
- Use fewer frames. 10 to 15 frames per second is plenty for an emoji.
- Use fewer colours. Flat cartoon colours compress far better than a photo or video still.
If your source is a video clip, trim it to the moment you want and then convert the short clip with the Video to GIF Converter. Starting from a two-second clip gives you a much smaller GIF than converting a long video and cutting afterwards.
Stickers: the 320×320 rule is strict
Unlike emoji, stickers are expected at exactly 320×320 pixels. They are displayed larger in chat, so detail matters more and transparency matters a lot. A typical sticker workflow:
- Remove the background so you have a transparent PNG.
- Crop to a square with a little padding around the subject.
- Resize to exactly 320×320.
- Check the file is under 512 KB, and compress if not.
- Upload in Server Settings, then Stickers. You need the Manage Expressions permission (shown as "Manage Emojis and Stickers" in some versions).
Sticker slots are tied to boost level. A server without boosts gets a small number of sticker slots; the count rises at each boost level.
How to upload a custom emoji to your server
- Open the server menu and choose Server Settings.
- Go to Emoji and click Upload Emoji.
- Pick your prepared file. Discord shows a preview at chat size.
- Rename it if needed. The name is what people type between colons, so keep it short and memorable.
On mobile the path is similar: tap the server name, then Settings, then Emoji. If the upload button is missing, you do not have permission to manage expressions on that server.
Common problems and fixes
| Problem | Likely cause | Fix |
|---|---|---|
| "File cannot be larger than 256.0 kb" | File too heavy, often an animated GIF or large photo | Resize to 128×128, then compress; shorten GIFs |
| Emoji looks squashed | Source was not square | Crop to 1:1 before resizing |
| White box around the emoji | Background not transparent, or saved as JPG | Remove the background and save as PNG |
| Emoji looks blurry | Source was tiny and got upscaled | Start from a larger original and scale down |
| Animated emoji does not move for some people | Reduced motion setting, or viewer settings | Nothing to fix on your side; it is a user preference |
Design tips that make emoji readable
An emoji has to work at the size of a letter. Bold outlines, simple shapes and high contrast survive that; fine text, thin lines and busy photo backgrounds do not. Zoom your finished 128×128 image out to about the size it will appear in chat before uploading. If you cannot tell what it is at a glance, simplify it. And test it on both dark and light themes, since a black outline can disappear on Discord's dark mode.
All the tools mentioned here are free, need no account and add no watermark. The cropper and background remover work in your browser; the resizer and compressor process the file on Toolyfied's server, use it only to produce your result, and old files are cleaned up automatically every day.
Frequently Asked Questions
What size should a Discord emoji be?
Upload a square image at 128×128 pixels. Discord scales it down for chat, and starting at 128 pixels keeps it sharp on high-resolution screens. The file must also be 256 KB or smaller.
What is the file size limit for Discord emoji?
Custom emoji, static or animated, are limited to 256 KB. If the upload fails, resize the image to 128×128 and compress it; for GIFs, shorten the clip and reduce the frame rate.
What size are Discord stickers?
Stickers should be exactly 320×320 pixels and no larger than 512 KB, in PNG or APNG format. A transparent background makes them look much better in chat.
Why is my Discord emoji blurry?
Usually the original image was smaller than 128 pixels and got enlarged, which softens edges. Start from a bigger original, crop it square, and scale it down to 128×128 instead.
Can I use a JPG as a Discord emoji?
Yes, JPG is accepted for static emoji, but it cannot be transparent, so you get a solid box around the design. For a clean cut-out, remove the background and save as PNG.
Do I need Nitro for animated emoji?
Server members with the right permission can upload animated GIF emoji to a server, but using animated emoji in messages, or using emoji outside their home server, requires Nitro. Check Discord's current Nitro page, as perks can change.



