Snowflake ID

2113793141252292608
Snowflake ID
Other namesTwitter Snowflake
X Snowflake
Components of a snowflake identifier in binary

Snowflake IDs, or snowflakes, are a form of unique identifier used in distributed computing. The format was created by Twitter (now X) and is used for the IDs of tweets. It is popularly believed that every snowflake has a unique structure, so they took the name "snowflake ID". The format has been adopted by other companies, including Discord and Instagram. The Mastodon social network uses a modified version.

Format

A snowflake is composed of 64 bits:

Only 63 bits are variable, so that a non-negative number can be processed readily as a 64-bit signed integer; the final number is generally serialized textually as a decimal number.

Snowflakes are sortable by time, because they are based on the time they were created. Additionally, the time a snowflake was created can be calculated from the snowflake. This can be used to get snowflakes (and their associated objects) that were created before or after a particular date.

Fixed header format
Offsets Octet 0 1 2 3
Octet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 0 Timestamp - first 31 bits
4 32 Timestamp - last 10 bits Machine ID Machine Sequence Number

Example

A tweet produced by @Wikipedia in February 2025 has the snowflake ID 1888944671579078978. The number may be converted to binary as 0001 1010 0011 0110 1110 0001 0010 1011 1011 0101 11 | 01 0110 1000 | 0001 0100 0010, with pipe symbols denoting the three parts of the ID.

Usage

The format was first announced by Twitter in June 2010. Due to implementation challenges, they waited until later in the year to roll out the update.

See also

References

  1. 1 2 King, Ryan (June 1, 2010). "Announcing Snowflake". blog.twitter.com. Twitter. Archived from the original on May 8, 2021. Retrieved January 18, 2021.
  2. 1 2 "twitter-archive/snowflake at b3f6a3c6ca". GitHub. October 1, 2012. Archived from the original on June 22, 2021. Retrieved January 18, 2021.
  3. 1 2 "API Reference". Discord Developer Portal. Discord. Archived from the original on August 31, 2022. Retrieved January 18, 2021.
  4. ↑ @Wikipedia (February 10, 2025). "Wikipedia is a free encyclopedia written and maintained by a community of nearly 260,000 volunteers" (Tweet) – via X (formerly Twitter).
  5. ↑ "2019-08-03: TweetedAt: Finding Tweet Timestamps for Pre and Post Snowflake Tweet IDs". 2019-08-03. Archived from the original on June 17, 2022. Retrieved July 1, 2022.
  6. ↑ Siegler, MG (October 12, 2010). "Tweet IDs About To Get Jumbled In A Blizzard As Snowflake Is Set To Roll Live". TechCrunch. Archived from the original on October 19, 2022. Retrieved January 18, 2021.
  7. ↑ "Twitter IDs". Twitter Developer. Twitter. Archived from the original on September 1, 2022. Retrieved January 20, 2021.
  8. ↑ Source Code twitter-archive/snowflake, Twitter, August 14, 2010, archived from the original on December 31, 2025, retrieved May 24, 2025
  9. ↑ "Sharding & IDs at Instagram". Instagram Engineering. May 2, 2016. Archived from the original on January 12, 2021. Retrieved January 18, 2021.
  10. ↑ Source Code mastodon/mastodon, Mastodon, November 11, 2022, archived from the original on November 11, 2022, retrieved November 11, 2022