Free Discord snowflake decoder & invite resolver
Two tools in one. The snowflake decoder takes any Discord ID — user, server, channel, message, role — and decodes the embedded creation timestamp, worker ID, process ID, and increment. Pure offline JS using BigInt math. The invite resolver queries Discord's public unauthenticated invite endpoint with with_counts=true to return the server name, ID, member count, online count, channel, vanity URL, features, verification level, and inviter details.
For OSINT investigations: the snowflake decoder reveals the exact moment any Discord account, server, or message was created — useful for vetting age-of-account claims, identifying recently-created throwaway servers, and timeline reconstruction. The invite resolver lets you triage a suspicious invite link without joining the server (which would expose your account). Combined with discord.dog, top.gg, and Disboard, you can build a comprehensive picture of a server's footprint without ever clicking "Accept Invite."
Note: Discord enforced mandatory global age verification starting March 2026. Joining the server itself may now require facial scan or ID verification with a third-party vendor. The tools above use only unauthenticated public endpoints and are unaffected.
Frequently asked questions
What is a Discord snowflake?
A 64-bit unique identifier used for every object in Discord — users, servers (guilds), channels, messages, roles, emojis. The snowflake format borrows from Twitter's original snowflake system: the upper 42 bits encode the creation timestamp (in milliseconds since the Discord epoch of 2015-01-01), then 5 bits for worker ID, 5 bits for process ID, and 12 bits for an internal increment counter. Decoding any Discord ID gives you the exact moment that object was created.
How accurate is the timestamp?
Millisecond-precise, by design. The timestamp is set when Discord's ID generator issues the snowflake at object creation time, and that bit-field is fixed for the life of the object. There is no drift, no estimation, no wiggle room — the timestamp shown is the exact moment Discord assigned the ID.
Can I tell whether an ID is a user, server, or message?
Not from the snowflake alone — they all use the same format. To distinguish, query each candidate type via Discord's public endpoints (or use discord.dog, which auto-detects by trying user lookup first, then server). For URLs from Discord channels (discord.com/channels/{guild_id}/{channel_id}/{message_id}) the structure tells you which is which.
What does the invite resolver show that I can't see in the Discord client?
The exact server creation date (decoded from the guild ID), full feature list (community, partnered, verified, banner, vanity URL, etc.), the inviter's account creation date, the specific channel the invite leads to, and the vanity URL if any. None of this requires logging in — Discord's invite endpoint is unauthenticated and CORS-permissive.
What about expired or invalid invites?
The API returns HTTP 404 with a JSON error code 10006 ("Unknown Invite") for both expired and never-existed invites. The error returned by this tool will reflect that. There's no way to distinguish "expired" from "never existed" from a public endpoint — Discord deliberately conflates them to prevent enumeration.
Why does the inviter sometimes show as "Janet Cousins" or appear blank?
Discord rotates a placeholder identity (the famous "Janet Cousins" with a 0 user ID) onto invites where the original inviter has been deleted or where the invite was created by the system. A real inviter shows their actual current global name and a real numeric user ID you can decode and look up.