NapNodes
Free tool · Discord

Discord ID to date

Someone new joins your server and acts strangely: is the account years old or ten minutes old? Every Discord ID carries the moment it was created. Paste the ID of an account, server, channel, message or role (or a message link) and we'll tell you the date and how long ago it was.

The other way round: from a date to an ID

To ask the Discord API for messages after or before a date. The time is your browser's.

How to copy an ID on Discord

  1. Turn on Developer Mode: in “User Settings”, under “Advanced”, switch on “Developer Mode”. On mobile it's in the same place, in the app settings.
  2. Right-click (on mobile, long-press) a person, a server, a channel or a message: “Copy ID” is at the bottom of the menu.
  3. Paste it above. From a message's menu you can also copy its link: it carries the server ID, the channel ID and the message ID.

How a number becomes a date

Discord uses “snowflakes”: 64-bit numbers whose first 42 bits are the milliseconds since 1 January 2015, the start of Discord's own clock. That's why the date can't be faked or changed: it's the ID's. The low bits (the “worker”, the process and an increment) only keep two IDs made in the same millisecond from clashing; they're shown under each result in case you're curious.

For your bot

The libraries already work it out, no bit-twiddling needed:

  • discord.js: user.createdAt (a date) or user.createdTimestamp (milliseconds); from a bare ID, SnowflakeUtil.timestampFrom(id).
  • discord.py: member.created_at; from a bare ID, discord.utils.snowflake_time(id), and the other way round discord.utils.time_snowflake(date).

An anti-raid bot compares that date with now when someone joins: in discord.py, discord.utils.utcnow() - member.created_at < timedelta(days=7) inside on_member_join flags accounts less than a week old or gives them a role with no permissions until a moderator checks them. If it needs to post in a mod-log channel, work out its permissions with the Discord bot permissions calculator.

“The other way round” is for the API: many routes, like reading a channel's messages, take after or before with an ID. The ID for a date gets you the messages from that moment, without hunting for a message from that day.

Frequently asked questions

How do I find out when a Discord account was created?

Copy its ID (with Developer Mode on, right-click their name → “Copy ID”) and paste it above. The date is written inside the ID itself, so it works even for someone else's account and even if you don't share a server.

Does it show the account's name?

No. The tool doesn't ask Discord anything: it only reads the date inside the number. To see whose it is, paste the ID as a mention (<@ID>) in a message of yours or look it up from your bot.

Does it work with servers, channels, messages and roles?

Yes: everything on Discord has an ID in the same format, and its date is when it was created. Paste a message link and you get all three at once: the server, the channel and the message. One detail: the @everyone role has the same ID as its server.

Why does it say the number isn't valid?

A Discord ID has 17 to 20 digits and its date falls between 1 January 2015 (when Discord's clock starts) and today. If it falls outside that, a digit is missing or extra: copy it again.

Do you store what I paste?

No. The maths happens in your browser and nothing is sent anywhere. What you paste stays in the page address (?id=…) only so you can pass the result to another moderator.

Does your bot go offline when you turn off your PC?

At NapNodes you can host it for free: 256 MB, Node.js or Python, always on, and you only have to renew it every 7 days with one click in the panel. No card. If it falls short, the Mini plan (512 MB) is €1.50 a month: see the Discord bot plans.

Host your bot for free

More free tools

All the tools