Discord Snowflake Explained, ID Generation Process

Discord IDs are mass generated with Twitter's Snowflake Algorithm. Here's everything you need to know about Discord Snowflake timestamps, format, and the API.

Discord Snowflake Explained, ID Generation Process

If you have done a little digging in you Discord client settings, you may have come across 'developer mode'. Suddenly you can get "ID"s of pretty much everything.

There is an interesting way these IDs work which is worth reading about. So, here goes my attempt on explaining Discord Snowflake to you.

Also, keep reading to find out how today Discord hit a special milestone, something that is going to be done again in 2090!

What are Snowflakes?

Every element of Discord, servers, channels, user accounts, messages, bots, are assigned an ID. This ID is generated with Twitter's snowflake high scale IDs generator. It guarantees that there are no IDs are generated twice.

The IDs are generated since the first Discord epoch, that is, the first second of 2015. Every millisecond after the Discord epoch, a new ID is generated. Keep in mind that each of these IDs are unique across Discord and contain the time stamp information.

If you want the more technical details on how to convert a timestamp to snowflake or vice versa, read this section of the Discord developer docs.

It is worth noting that these IDs are not simple incrementation. If that were the case, it would mean 1,000,000,000,000,000,000 IDs were generated. That number is 1 Quintillion, simply too many events to happen. To put it more into perspective, one quintillion seconds is 31,688,738,506.8 years. Whereas, a million seconds is 11 days, a billion seconds is 33 years, and a trillion seconds is 31,700 years.

Extra Digit in IDs

If you check the ID of a message sent yesterday, on 22nd July, you will see that the ID has 18 digits.  For example, here's the ID of a message sent yesterday in Netcord Discord server: 999987492105232436. And if I check a new message from today, the ID 1000159400822050857 has 19 digits. An extra digit because definitely it ran out of numbers. The last second:

The moment new digit was added. Calculated with snowsta.mp

One more digit means, we won't see another digit added until 2090! See you with another one of these article in 68 years.

How to convert IDs to Timestamps

Tools like snowsta.mp easily allows you to put in any ID and it will tell you the exact information of the timestamp.

Discord Snowflake to Timestamp Converter
Get the exact time and date from a Discord Snowflake

If you put in your user ID, you will get the exact time your account was created.

This was quite an interesting thing to witness. What are your thoughts on this? If you'd like to contribute new information to this article, feel free to DM me on Discord.

That's all for today, hope you enjoyed today's article! Make sure to join our official Discord server to discuss further on this topic or suggest new articles!