Discord Snowflake ID Decoder
Every Discord ID contains a hidden creation timestamp. Paste any ID below to decode exactly when it was created.
Every Discord user, message, channel, server, and role has a unique Snowflake ID. These IDs secretly contain the exact UTC timestamp of when that object was created — down to the millisecond. This tool decodes that timestamp for you.
What Is a Discord Snowflake ID
Every Discord user, message, channel, server, and role has a unique Snowflake ID — a 64-bit integer that looks like a random large number but is actually a precisely structured piece of data. The concept was originally created by Twitter in 2010 for distributed systems that need to generate unique identifiers across multiple servers independently without any central coordination. Discord, Instagram, and dozens of other platforms adopted the same approach because it solves a fundamental problem: how do you create unique IDs at massive scale without a bottleneck?
What makes a Discord Snowflake ID special is that it is time-ordered — you can sort them chronologically because newer IDs are always larger. More importantly for most users, every Snowflake ID has a creation timestamp encoded directly inside it. Paste any Discord user ID, message ID, guild ID, or channel ID into our decoder and we extract the exact creation date and Unix timestamp of when that object was created — no database lookup required, no API call needed, entirely client-side in your browser.
How Discord Snowflake IDs Are Structured
A Discord Snowflake ID packs four pieces of information into 64 bits using a specific bit positions layout. Understanding the binary structure explains why the math works:
- Bits 63 — Sign bit, always 0 for positive numbers
- Bits 22–62 (42 bits) — Timestamp: milliseconds since Discord Epoch (January 1 2015 midnight UTC, value 1420070400000). This is the creation timestamp of the object.
- Bits 17–21 (5 bits) — Worker ID: identifies which internal Discord worker generated this ID
- Bits 12–16 (5 bits) — Process ID: identifies which process on that machine generated this ID
- Bits 0–11 (12 bits) — Increment: a sequence counter for same-millisecond IDs — allows up to 4096 IDs per millisecond per machine
The formula to extract the creation timestamp is: timestamp ms = (BigInt(snowflakeId) >> 22n) + 1420070400000n. The right-shift by 22 bits removes the Worker ID, Process ID, and Increment portions, leaving only the timestamp bits. Adding Discord's custom epoch 1420070400000 converts the relative value to absolute Unix milliseconds. Always use BigInt in JavaScript for these calculations — Discord Snowflake IDs exceed JavaScript's safe integer limit and using regular numbers causes precision loss.
How to Get a Discord Snowflake ID
Before you can decode a Snowflake ID, you need to copy one from Discord. The process requires enabling Developer Mode:
- Step 1 — Go to Discord Settings → Advanced → Developer Mode → toggle on
- Step 2 — Right-click any user, message, channel, or server and select Copy ID
- Step 3 — For guild and channel IDs you can also find them in Discord URLs:
discord.com/channels/GUILD_ID/CHANNEL_ID/MESSAGE_ID - Step 4 — In bot code, all Discord objects expose their ID property directly:
user.id,message.id,guild.id,channel.id
Once you have the ID, paste it into our decoder above. The tool performs all bit shifting and masking operations automatically in your browser — no data is ever sent to any server. The result shows the creation date in your local timezone, UTC time, relative format, Unix timestamp in seconds and milliseconds, and all 7 Discord timestamp codes generated from the extracted creation timestamp.
Discord vs Twitter vs Instagram Snowflakes
All three platforms use the same 64-bit Snowflake ID structure but with different custom epoch starting points — meaning the same ID value represents a completely different date on each platform:
- Discord epoch: January 1 2015 midnight UTC — 1420070400000 ms Unix timestamp
- Twitter X epoch: November 4 2010 01:42:54.657 UTC — 1288834974657 ms Unix timestamp
- Instagram epoch: August 24 2011 21:07:01.721 UTC — 1314220021721 ms Unix timestamp
Our decoder is specifically calibrated for Discord's custom epoch — if you paste a Twitter or Instagram Snowflake ID it will decode to an incorrect date because the platform epochs differ. This is why platform selection matters when using a Snowflake decoder across different services.
Use Cases — Why Decode a Discord Snowflake
User account age verification is the most common reason moderators and server administrators reach for a Snowflake decoder. Every Discord user ID contains the exact account creation timestamp — paste a suspicious user's ID and you instantly know if the account is 3 years old or 3 days old. New accounts that joined your server the same day they were created are often alts or spam bots, making Snowflake decoding a valuable security screening tool.
Beyond security, developers use Snowflake decoding regularly for debug bot issues — if your bot logged an event at a specific Snowflake ID, decoding it tells you exactly when that event occurred. Audit logging workflows combine snowflake timestamps with audit logs to track when specific actions occurred in a server. The time-sortable nature of Snowflake IDs means sorting by snowflake gives you chronological ordering — higher IDs were always created more recently. And for anyone simply curious about the origins of specific entities — when was this channel created, when did this message get sent, when was this server founded — a Snowflake decoder gives the exact answer instantly.