Discord Snowflake ID Decoder
Every Discord message, user, channel, and server ID secretly encodes when it was created. Paste one below to see the exact date, plus ready-to-use Discord timestamp codes.
Created at
Paste a message, user, channel, or server ID above.
- Worker ID
- —
- Process ID
- —
- Increment
- —
All 7 Discord codes
| Renders as | Code |
|---|---|
| — | |
| — | |
| — | |
| — | |
| — | |
| — | |
| — |
What a Discord snowflake is
Discord IDs — for messages, users, channels, servers, roles, and most other objects — are "snowflakes": 64-bit numbers where the leading bits are a timestamp and the trailing bits are internal fields used to keep IDs unique across Discord's infrastructure. Every ID you've ever copied from Discord already contains its own creation time; you just need to unpack it.
Not the same math as a Unix timestamp
It's tempting to treat a snowflake like a big Unix timestamp, but the two aren't interchangeable. Discord's snowflakes count milliseconds from Discord's own epoch — January 1, 2015 UTC — not the Unix epoch of January 1, 1970, and only the top 42 bits are the timestamp; the rest hold unrelated internal fields. Pasting a raw snowflake into a plain Unix-timestamp field produces a nonsense date decades in the future. If you already have a genuine Unix timestamp — from an API, a log, or your own code — skip this page and use the Unix timestamp converter instead.
Finding an ID to decode
Turn on Developer Mode in Discord (User Settings → Advanced → Developer Mode), then right-click any message, user, channel, role, or server and pick Copy ID (message context menus show Copy Message ID). IDs also show up directly in Discord API responses and in every event object a bot receives — discord.js and discord.py both expose the raw snowflake as a string or int property on the relevant object.
What the internal fields mean
Alongside the timestamp, a snowflake packs three more values: an internal worker ID and internal process ID identifying which part of Discord's backend generated it, and an increment that ticks up when multiple objects are created in the same millisecond so IDs never collide. None of these are meant to be looked up or acted on — they're shown here because they're part of the number, not because they're independently useful.
Turning a decoded snowflake into a Discord code
Once decoded, the creation moment behaves like any other timestamp — the table above already builds all seven Discord format codes from it, so you can paste "this message was sent <t:…:R>" or reference an account's exact join date without doing any of the bit math yourself.