Emoji object
Represents a Discord emoji, which can be a standard Unicode emoji or a custom guild/application emoji.Emoji structure
The emoji ID.
null for standard Unicode emojis.The emoji name. Can be
null only in reaction emoji objects when custom emoji data is not available.Role IDs allowed to use this emoji. Optional field.
The user that created this emoji. Optional field.
Whether this emoji must be wrapped in colons. Optional field.
Whether this emoji is managed. Optional field.
Whether this emoji is animated. Optional field.
Whether this emoji can be used. May be
false due to loss of Server Boosts. Optional field.Emoji example
Standard emoji example
Custom emoji examples
In
MESSAGE_REACTION_ADD, MESSAGE_REACTION_REMOVE, and MESSAGE_REACTION_REMOVE_EMOJI gateway events, animated will be returned for animated emoji.In
MESSAGE_REACTION_ADD and MESSAGE_REACTION_REMOVE gateway events, name may be null when custom emoji data is not available (for example, if it was deleted from the guild).Premium emoji
Roles with theintegration_id tag set to 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.
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 Developer Portal. TheUSE_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 formats
Emoji can be uploaded as JPEG, PNG, GIF, WebP, and AVIF formats. All emoji (regardless of original format) can be served as WebP.List guild emojis
GET /guilds/{guild.id}/emojisuser fields if the bot has the CREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission.
Get guild emoji
GET /guilds/{guild.id}/emojis/{emoji.id}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
POST /guilds/{guild.id}/emojisCREATE_GUILD_EXPRESSIONS permission. Returns the new emoji object on success. Fires a Guild Emojis Update gateway event.
This endpoint supports the
X-Audit-Log-Reason header.JSON params
Name of the emoji.
Roles allowed to use this emoji.
Modify guild emoji
PATCH /guilds/{guild.id}/emojis/{emoji.id}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.
All parameters to this endpoint are optional.
This endpoint supports the
X-Audit-Log-Reason header.JSON params
Name of the emoji.
Roles allowed to use this emoji. Set to
null to remove all role restrictions.Delete guild emoji
DELETE /guilds/{guild.id}/emojis/{emoji.id}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.
This endpoint supports the
X-Audit-Log-Reason header.List application emojis
GET /applications/{application.id}/emojisitems 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.
Get application emoji
GET /applications/{application.id}/emojis/{emoji.id}user field.
Create application emoji
POST /applications/{application.id}/emojisJSON params
Name of the emoji.
Modify application emoji
PATCH /applications/{application.id}/emojis/{emoji.id}JSON params
Name of the emoji.
Delete application emoji
DELETE /applications/{application.id}/emojis/{emoji.id}204 No Content on success.