Last updated
What are Discord Avatar Decorations?
Avatar decorations are animated frames and effects that Discord Nitro subscribers can apply to their profile pictures. Each decoration has a unique Snowflake ID that encodes when it was created.
How to Get Discord Decoration IDs
Method 1: Developer Mode
- Enable Developer Mode: Settings > Advanced > Developer Mode
- Right-click on an avatar with decoration
- Select "Copy ID" to get the decoration Snowflake ID
Method 2: Discord API
Use Discord API endpoints to fetch user profiles. The avatar_decoration_data field contains the decoration ID.
What Is an Avatar Decoration?
Avatar decorations are animated or static frames that appear around a user's profile picture in chat, member lists, and profiles. They are part of Discord's Nitro premium cosmetics system. Each decoration has a unique SKU ID — a Snowflake that encodes when Discord added it to their catalog.
Key Facts About Discord Avatar Decorations
- Available to Discord Nitro subscribers
- Stored as APNG (animated PNG) or Lottie animation files on Discord's CDN
- The
avatar_decoration_datafield appears in user objects when active - The
sku_idis a Snowflake encoding when the decoration was added to Discord's catalog - Decoration disappears from the user object when the Nitro subscription lapses
- Some decorations are limited-time items tied to Discord events
Use TechConverter's Snowflake decoder to decode any Discord Snowflake ID — including decoration SKU IDs — to find out when any Discord object was created.
Examples
Example 1: Avatar Decoration in the Discord API
// User object with avatar decoration
{
"id": "123456789012345678",
"username": "JohnDoe",
"avatar": "a_1234567890abcdef",
"avatar_decoration_data": {
"asset": "a_abcdef1234567890",
"sku_id": "1144058522808614923"
}
}
// The sku_id is a Snowflake — decode it to find when the decoration was added
Example 2: Decoding a Decoration SKU ID
function decodeSkuId(skuId) {
const DISCORD_EPOCH = 1420070400000n;
const id = BigInt(skuId);
const addedAt = new Date(Number((id >> 22n) + DISCORD_EPOCH));
return { addedAt, iso: addedAt.toISOString() };
}
// Decode a decoration SKU ID
const result = decodeSkuId("1144058522808614923");
console.log(result.iso); // When Discord added this decoration to their catalog
Example 3: Constructing the Decoration CDN URL
// Avatar decoration assets are served from Discord's CDN
function getDecorationUrl(assetHash) {
return `https://cdn.discordapp.com/avatar-decoration-presets/${assetHash}.png`;
}
// Animated decorations use APNG format
function getAnimatedDecorationUrl(assetHash) {
return `https://cdn.discordapp.com/avatar-decoration-presets/${assetHash}.png?size=128`;
}
const assetHash = "a_abcdef1234567890";
console.log(getDecorationUrl(assetHash));
// https://cdn.discordapp.com/avatar-decoration-presets/a_abcdef1234567890.png
Frequently Asked Questions
Discord avatar decoration IDs use the Snowflake format, a 64-bit unique identifier that encodes the creation timestamp. Each decoration has a unique Snowflake ID that reveals when it was added to Discord's system.
Use Discord Developer Mode: Settings > Advanced > Enable Developer Mode. Then right-click on an avatar decoration and select 'Copy ID'. You can also find decoration IDs in Discord API responses.
Yes! Decode the decoration's Snowflake ID to see exactly when it was created in Discord's system. This typically corresponds to when the decoration was released or made available.
Discord uses epoch January 1, 2015, 00:00:00 UTC (1420070400000 milliseconds). All Discord Snowflake IDs encode timestamps relative to this epoch.