Snowflake ID Decoder
Decode Discord, Twitter/X and Instagram Snowflake IDs into their creation date, worker/process fields and a bit-by-bit breakdown. Paste one ID per line or a Discord message link; it all runs in your browser.
Epoch 1420070400000 (2015-01-01T00:00:00.000Z) · layout Timestamp 42 / Worker ID 5 / Process ID 5 / Increment 12 bits
175928847299117063<t:1462015105:F>Generate a Snowflake from a date
Build the smallest and largest possible ID for a moment in time (your local time zone) — handy for before/after or min_id/max_id pagination and for checking whether an ID is older than a date.
Smallest ID at this time (use as “after”)
1191168914227200000Largest ID in this second (use as “before”)
1191168918421503999Need to put a time into a Discord message? Use the Discord timestamp generator.
Snowflake ID layouts
| Platform | Epoch | Bit layout (high → low) |
|---|---|---|
| Discord | 1420070400000 (2015-01-01 UTC) | 42 timestamp · 5 worker · 5 process · 12 increment |
| Twitter / X | 1288834974657 (2010-11-04 UTC) | 1 unused · 41 timestamp · 10 machine · 12 sequence |
1314220021721 (2011-08-24 UTC) | 1 unused · 41 timestamp · 13 shard · 10 sequence |
How to decode a Snowflake by hand
Shift the ID right by the number of non-timestamp bits and add the platform epoch. For Discord: (id >> 22) + 1420070400000 gives Unix milliseconds. The official example 175928847299117063 decodes to 2016-04-30T11:18:25.796Z, worker 1, process 0, increment 7. IDs exceed JavaScript's safe integer range, so this tool uses BigInt to stay exact.
Finding Discord IDs
Enable Developer Mode in Discord (Settings → Advanced), then right-click a message, user, channel or server and choose Copy ID — or use Copy Message Link and paste the whole link here. To share a time in chat, use the Discord timestamp generator. For other time-sortable IDs see the ULID generator & decoder.