How to add custom emojis to a Discord server and copy stickers
Add your own Discord emojis and stickers, upload files with Qreate, or copy existing Discord expressions. Permissions, commands and common upload errors.
On this page
You have the image. You want it in your server's emoji picker. Discord's own upload screen handles that, and Qreate also lets you upload an image or copy an existing Discord emoji with a slash command. Stickers have their own commands because their file requirements are different.
For one image already on your computer, I'd start with Server Settings. If you're already in a conversation and have an emoji reference or a sticker ID, copying it with Qreate saves the download-and-upload detour.
Add an emoji through Discord
Open the destination server, then Server Settings → Emoji → Upload Emoji. Select your image and give it a name people can type, such as coffee_break.
You need to own the server or have permission to create expressions. Discord's current guide lists PNG, JPEG, GIF and WebP for emoji uploads, with files under 256 KB. Names use letters, numbers and underscores. Check the available slots in the server's settings before preparing a whole collection. Discord's custom emoji guide covers its upload screens and current requirements.
Upload an emoji with Qreate
Run the command in the server that should receive the emoji:
/upload emoji attachment:<choose your file> name:coffee_breakattachment is Discord's file option, not text to paste literally. If your image is hosted online, use the alternative url option with a direct HTTPS image link. Supply one source, either a file or a URL.
Qreate checks the image's actual format and size. A web page containing a picture is not the same as a direct image URL, and changing a filename to .png does not convert its contents.
Both you and Qreate need expression permissions on the destination server. Giving the bot permission alone does not let an ordinary member add emojis through it.
Copy an existing Discord emoji
Use /copy emoji and put the custom emoji reference in source. Qreate accepts Discord emoji references, emoji IDs and supported Discord CDN emoji links. A name such as :coffee_break: on its own does not identify which server's emoji you mean.
You can provide several sources, separated by spaces or commas, up to ten per command. Read the result for each item. If a collection only partly fits, Qreate reports the individual successes and failures; it does not promise that every emoji was copied.
Copying creates an expression in the destination server. It does not move or remove the original. Use images you own or have permission to reuse.
Upload or copy a sticker
For your own sticker file, use:
/upload sticker tags:☕ attachment:<choose your file> name:Coffee breakThe tags option is required. Choose a related Unicode emoji so Discord can suggest the sticker in the right context. You can use a direct HTTPS image URL instead of attachment.
Qreate's sticker upload checks for a supported PNG, APNG or GIF, a 320 × 320 canvas and a file no larger than 512 KiB. It does not automatically resize or convert a file that fails these checks.
To copy a Discord sticker, run /copy sticker with its sticker ID or a supported Discord CDN sticker link in source. The command copies one sticker at a time. It does not accept an arbitrary message link as a sticker source.
Discord also has a native Server Settings → Stickers → Upload Sticker screen on desktop and web. Its custom sticker guide explains permissions and available sticker slots. Uploading a sticker and using it outside its original server are separate questions; check Discord's current subscription rules for the latter.
If the upload fails
Check these before retrying:
- Permissions: the person running the command and Qreate both need expression access. Run the command inside a server, not in a direct message.
- Source: an upload needs one file or direct HTTPS image URL. Copy commands need the supported Discord source for that expression type.
- File: reduce its size or export it in a supported format. Sticker dimensions are checked separately from emoji requirements.
- Capacity: a full emoji or sticker allocation needs a free slot. Copying through a bot does not bypass Discord's limits.
When Qreate reports success, open the destination server's emoji or sticker picker and send the new expression. That final check tells you whether it is available where your community will actually use it.