Discord Snowflake ID Format
Learn how Discord Snowflake IDs encode creation time, worker data, process data, and sequence numbers inside a 64-bit integer.
Overview
Every Discord user, server, channel, role, and message is identified by a numeric ID. That ID is not random. Discord uses a Snowflake format, a 64-bit integer structure that encodes time and a small amount of internal metadata.
This is why a Discord ID lookup tool can calculate an exact creation date without needing private account access.
Discord Snowflake Bit Layout
A Discord Snowflake contains four segments:
| Segment | Bits | Purpose |
|---|---|---|
| Timestamp | 42 | Milliseconds since the Discord epoch |
| Worker ID | 5 | Internal machine identifier |
| Process ID | 5 | Internal process identifier |
| Increment | 12 | Sequence number for IDs created in the same millisecond |
The important part for lookup tools is the first 42 bits. They store the timestamp.
Discord Epoch
Discord counts time from its own epoch rather than from the Unix epoch.
- Discord epoch:
2015-01-01 00:00:00 UTC - Discord epoch in Unix milliseconds:
1420070400000
To calculate the real creation time:
- right-shift the Snowflake by 22 bits
- add the Discord epoch
- interpret the result as Unix milliseconds
Why This Matters for Account Age
Because the timestamp is built into the ID itself, the creation date is:
- exact to the millisecond
- stable over time
- independent of usernames, avatars, or display names
That makes the Snowflake the most reliable way to estimate when a Discord account or object was created.
What a Snowflake Can and Cannot Tell You
A Snowflake can tell you:
- when an account or object was created
- whether two objects were created close together in time
- whether an ID belongs to the general Discord Snowflake format
A Snowflake cannot tell you:
- the email address of the user
- their private messages
- their IP address
- whether they currently own Nitro
Those details are not encoded in the ID.
Examples of Objects That Use Snowflakes
The same Snowflake structure is used for:
- user IDs
- guild or server IDs
- channel IDs
- role IDs
- message IDs
- webhook IDs
- bot account IDs
This is why an account age checker can also work as a server creation date checker or message timestamp decoder.
Practical Use Cases
People commonly decode Snowflakes to:
- estimate account age during moderation
- identify newly created spam or raid accounts
- verify when a server or channel was created
- investigate the order of events in community incidents