Emoji Resource
Emoji Object
Section titled “Emoji Object”Emoji Structure
Section titled “Emoji Structure”| Field | Type | Description |
|---|---|---|
| id | ?snowflake | emoji id |
| name | ?string (can be null only in reaction emoji objects) | emoji name |
| roles? | array of role object ids | roles allowed to use this emoji |
| user? | user object | user that created this emoji |
| require_colons? | boolean | whether this emoji must be wrapped in colons |
| managed? | boolean | whether this emoji is managed |
| animated? | boolean | whether this emoji is animated |
| available? | boolean | whether this emoji can be used, may be false due to loss of Server Boosts |
Premium Emoji
Section titled “Premium Emoji”Roles with the integration_id tag being the guild's guild_subscription integration are considered subscription roles.
An emoji cannot have both subscription roles and non-subscription roles.
Emojis with subscription roles are considered premium emoji, and count toward a separate limit of 25.
Emojis cannot be converted between normal and premium after creation.
Emoji Formats
Section titled “Emoji Formats”Emoji can be uploaded as JPEG, PNG, GIF, WebP, and AVIF formats. All emoji (regardless of original format) can be served as WebP. We highly recommend that developers use the .webp extension when fetching emoji so they're rendered as WebP for maximum performance and compatibility. The Discord client uses WebP for all emoji displayed in-app.
Still WebP emoji can be requested using the .webp file extension. For animated WebP emoji, use the .webp extension with the ?animated=true query parameter.
Application-Owned Emoji
Section titled “Application-Owned Emoji”An application can own up to 2000 emojis that can only be used by that app.
App emojis can be managed using the API with a bot token, or using the app's settings in the portal.
The USE_EXTERNAL_EMOJIS permission is not required to use app emojis.
The user field of an app emoji object represents the team member that uploaded the emoji from the app's settings, or the bot user if uploaded using the API.
Emoji Example
Section titled “Emoji Example”{
"id": "41771983429993937",
"name": "LUL",
"roles": ["41771983429993000", "41771983429993111"],
"user": {
"username": "Luigi",
"discriminator": "0002",
"id": "96008815106887111",
"avatar": "5500909a3274e1812beb4e8de6631111",
"public_flags": 131328
},
"require_colons": true,
"managed": false,
"animated": false
}Standard Emoji Example
Section titled “Standard Emoji Example”{
"id": null,
"name": "🔥"
}Custom Emoji Examples
Section titled “Custom Emoji Examples”{
"id": "41771983429993937",
"name": "LUL",
"animated": true
}{
"id": "41771983429993937",
"name": null
}List Guild Emojis
Section titled “List Guild Emojis”/guilds/{guild.id}/emojis
Returns a list of emoji objects for the given guild. Includes user fields if the bot has the CREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission.
Get Guild Emoji
Section titled “Get Guild Emoji”/guilds/{guild.id}/emojis/{emoji.id}
Returns an emoji object for the given guild and emoji IDs. Includes the user field if the bot has the MANAGE_GUILD_EXPRESSIONS permission, or if the bot created the emoji and has the CREATE_GUILD_EXPRESSIONS permission.
Create Guild Emoji
Section titled “Create Guild Emoji”/guilds/{guild.id}/emojis
Create a new emoji for the guild. Requires the CREATE_GUILD_EXPRESSIONS permission. Returns the new emoji object on success. Fires a Guild Emojis Update Gateway event.
JSON Params
Section titled “JSON Params”| Field | Type | Description |
|---|---|---|
| name | string | name of the emoji |
| image | image data | the 128x128 emoji image |
| roles | array of snowflakes | roles allowed to use this emoji |
Modify Guild Emoji
Section titled “Modify Guild Emoji”/guilds/{guild.id}/emojis/{emoji.id}
Modify the given emoji. For emojis created by the current user, requires either the CREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission. For other emojis, requires the MANAGE_GUILD_EXPRESSIONS permission. Returns the updated emoji object on success. Fires a Guild Emojis Update Gateway event.
JSON Params
Section titled “JSON Params”| Field | Type | Description |
|---|---|---|
| name | string | name of the emoji |
| roles | ?array of snowflakes | roles allowed to use this emoji |
Delete Guild Emoji
Section titled “Delete Guild Emoji”/guilds/{guild.id}/emojis/{emoji.id}
Delete the given emoji. For emojis created by the current user, requires either the CREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission. For other emojis, requires the MANAGE_GUILD_EXPRESSIONS permission. Returns 204 No Content on success. Fires a Guild Emojis Update Gateway event.
List Application Emojis
Section titled “List Application Emojis”/applications/{application.id}/emojis
Returns an object containing a list of emoji objects for the given application under the items key. Includes a user object for the team member that uploaded the emoji from the app's settings, or for the bot user if uploaded using the API.
{
"items": [
{
"id": "41771983429993937",
"name": "LUL",
"roles": [],
"user": {
"username": "Luigi",
"discriminator": "0002",
"id": "96008815106887111",
"avatar": "5500909a3274e1812beb4e8de6631111",
"public_flags": 131328
},
"require_colons": true,
"managed": false,
"animated": false
}
]
}Get Application Emoji
Section titled “Get Application Emoji”/applications/{application.id}/emojis/{emoji.id}
Returns an emoji object for the given application and emoji IDs. Includes the user field.
Create Application Emoji
Section titled “Create Application Emoji”/applications/{application.id}/emojis
Create a new emoji for the application. Returns the new emoji object on success.
JSON Params
Section titled “JSON Params”| Field | Type | Description |
|---|---|---|
| name | string | name of the emoji |
| image | image data | the 128x128 emoji image |
Modify Application Emoji
Section titled “Modify Application Emoji”/applications/{application.id}/emojis/{emoji.id}
Modify the given emoji. Returns the updated emoji object on success.
JSON Params
Section titled “JSON Params”| Field | Type | Description |
|---|---|---|
| name | string | name of the emoji |
Delete Application Emoji
Section titled “Delete Application Emoji”/applications/{application.id}/emojis/{emoji.id}
Delete the given emoji. Returns 204 No Content on success.