Discord Snowflake: What the Long ID Number Means
A snowflake is the unique 64-bit number Discord gives to every user, server, channel, role and message. The first 42 bits hold a timestamp, so any snowflake tells you when the thing was created, down to the millisecond.
What a snowflake is
Whenever you copy an ID in Discord, you are copying a snowflake. It looks like 175928847299117063: a long whole number with 17 to 19 digits. Discord uses the same format for users, servers (called guilds in the API), channels, roles, messages, emojis and more.
The format comes from a scheme first used at Twitter. The point is to create unique, roughly time-ordered IDs on many machines without them asking each other for the next number.
How the bits are laid out
A snowflake is split into four parts, from the left:
- 42 bits of timestamp: milliseconds since the first second of 2015 (the Discord epoch, 1420070400000).
- 5 bits of worker ID and 5 bits of process ID: which Discord machine and process made it.
- 12 bits of increment: a counter that goes up for every ID that process makes in the same millisecond.
To read the creation time, shift the number right by 22 bits and add the epoch. That gives a Unix timestamp in milliseconds. This is why you can tell when a server or message was made without asking anyone.
Why server owners care
You will mostly meet snowflakes when you turn on Developer Mode (User Settings, Advanced) and right-click something to Copy ID. People ask for IDs in bug reports, in bot setup and when removing a bad actor who has changed their name. Names change, an ID does not.
Two practical notes:
- IDs are public identifiers, not secrets. Knowing a channel ID gives nobody access to it.
- Because they are larger than what many programs store as a normal number, Discord's API sends them as strings. Spreadsheets that round long numbers can corrupt an ID, so keep them as text.
Our free snowflake decoder turns an ID into its creation date in your browser.
How Noxyr uses IDs
Noxyr stores Discord user IDs where a feature needs them: ticket openers, invoice customers, giveaway entries, poll votes, review authors and blacklists. The dashboard also keeps your ID, username and avatar for sign-in. The data and privacy docs list exactly what is kept.
Some features take an ID as input. For example, a custom bot owner can move remaining time to another person by their user ID, and the bot keeps its own user ID no matter how often you rename it. That is why roles and overrides tied to it keep working after a rebrand.
Related terms
An application ID is also a snowflake, and so is every guild ID. Sharding even uses the guild ID to decide which shard receives a server, see sharding.
Common questions
How do I find a Discord ID?
Turn on Developer Mode in User Settings, Advanced. Then right-click a user, channel, role or server and choose Copy ID.
Can I find the creation date from an ID?
Yes. Shift the number right by 22 bits and add 1420070400000 to get a Unix time in milliseconds. The snowflake decoder tool does this for you.
Is a Discord ID private?
No. IDs are public identifiers and give no access on their own. Treat tokens as secrets, not IDs.