A Discord timestamp is a short code, <t:UNIX:STYLE>, that the app swaps for a date or time shown in each reader's own time zone and language format. You supply a Unix time in seconds, add one of nine style letters (or leave it off for the default), and everyone in the channel sees the correct local time without converting anything. It is the simplest fix for the classic "is that 8 PM my time or yours?" problem in event posts, raid schedules and giveaway deadlines.
We checked the syntax and all nine styles against Discord's official developer documentation, the Unix time commands against Microsoft's .NET reference, MDN Web Docs and the Linux date manual, and the relative style's behavior against a DEV Community walkthrough and the Streamer.guide cheat sheet, in November 2026.
How the Timestamp Code Works
Discord's message formatting reference lists two forms. The plain form is <t:TIMESTAMP>, and the styled form is <t:TIMESTAMP:STYLE>, where STYLE is a single letter. The documentation says timestamps are expressed in seconds and "display the given timestamp in the user's timezone and locale," which is the whole trick: you post one number, and every reader's app renders it locally.

The number is Unix time. Microsoft's .NET reference defines it as the number of seconds that have elapsed since 1970-01-01T00:00:00Z, which is midnight on January 1, 1970, in UTC. Because that starting point is fixed, a Unix value names one exact moment for the whole planet. Your time zone only matters when you work out the number in the first place.
Here is a worked example. A New Year's Eve stream starting at 8:00 PM Eastern on Thursday, December 31, 2026 is 01:00 UTC on January 1, 2027, which is Unix time 1798765200. Post <t:1798765200:F> and a viewer in New York sees Thursday evening at 8:00, while a viewer in London sees 1:00 AM on Friday, January 1, 2027. Neither of them has to know where you live.
Spacing and punctuation are strict. The code starts with a less-than sign, then a lowercase t, a colon, the number, an optional second colon with the style letter, and a closing greater-than sign. Anything that breaks that pattern, such as a space inside the brackets or a dropped colon, means the code no longer matches Discord's documented format, so check the pattern first if raw text shows up instead of a date.
All Nine Timestamp Styles
The style letter controls how much detail appears. Discord's documentation currently lists nine styles, and the case of the letter matters: t and T, d and D, f and F, and s and S are different formats. If a timestamp generator you find online only offers seven codes, it is missing the two short date-and-time styles.
| Style letter | Name | Documented example |
|---|---|---|
| t | Short Time | 16:20 |
| T | Medium Time | 16:20:30 |
| d | Short Date | 20/04/2021 |
| D | Long Date | April 20, 2021 |
| f (default) | Long Date, Short Time | April 20, 2021 at 16:20 |
| F | Full Date, Short Time | Tuesday, April 20, 2021 at 16:20 |
| s | Short Date, Short Time | 20/04/2021, 16:20 |
| S | Short Date, Medium Time | 20/04/2021, 16:20:30 |
| R | Relative Time | 4 years ago |
Leave the letter off and Discord uses f, the long date with a short time, which the documentation marks as the default. The documented examples use a day-first date and a 24-hour clock, but your own app shows each style in your locale, so a reader in the United States may see a month-first date and AM or PM instead.
The relative style, R, is the easiest one to overlook. Instead of a date it prints a phrase such as "3 hours ago" or "in 2 days," and a DEV Community walkthrough of the format notes that it recalculates on the viewer's side, updating itself as time passes without anyone editing the message. That makes it ideal for countdowns. It pairs well with a full date, because the relative phrase tells people how soon and the full date tells them exactly when.
Getting the Unix Number Without a Website
Plenty of free generator sites will build the code for you, but you can also get the number from tools already on your computer, which is handy when you set up the same weekly event over and over.

- Windows PowerShell:
[DateTimeOffset]::UtcNow.ToUnixTimeSeconds()prints the current Unix time. For a planned moment, include your UTC offset so nothing gets shifted:([DateTimeOffset]'2026-12-31T20:00:00-05:00').ToUnixTimeSeconds()returns 1798765200. Microsoft's reference notes the method converts the value to UTC before returning seconds. - Linux terminal: the date manual lists
%sas "seconds since the Epoch (1970-01-01 00:00 UTC)," sodate +%sgives the current value, anddate -d '2026-12-31 20:00 -0500' +%sconverts a specific date. The same manual showsdate --date='@2147483647'for going the other way, from a number back to a readable date. - Any browser console:
Math.floor(Date.now() / 1000). MDN documents thatDate.now()returns milliseconds since the epoch, so dividing by 1,000 and rounding down gives the seconds Discord wants.
Whichever method you use, sanity check the result by pasting the finished code into a private channel or a DM with yourself before you post it publicly. If the date that appears is not the one you meant, you know the number is off before anyone else sees it.
Mistakes That Produce the Wrong Time
Most broken timestamps trace back to a few repeat errors:
- Milliseconds instead of seconds. JavaScript's
Date.now()and many web tools work in milliseconds, so the number has 13 digits instead of 10. Discord expects seconds, so a 13-digit value points tens of thousands of years ahead and the converted date comes out nowhere near the one you meant. - Typing your local wall-clock time into a tool that assumes UTC. The result is off by exactly your UTC offset, which is why the PowerShell and Linux examples above include the offset explicitly.
- The wrong letter case.
Tadds seconds to the time, whiletdrops them, andDspells out the month whiledshows numbers only. - Spaces or missing brackets, which break the documented pattern.
- Editing the time but not the number. If an event moves, generate a fresh Unix value; changing the visible text around the code changes nothing about what the code displays.
When you want to show someone the code itself rather than the converted date, put it inside backticks. The Streamer.guide formatting cheat sheet notes that code formatting shows everything literally, so `<t:1798765200:R>` displays as typed instead of turning into a countdown. Our Discord text formatting guide covers code blocks and the other Markdown rules in detail.
Picking the Right Style for Each Message
Choosing a style is about what the reader needs to do with the information. A few combinations cover nearly every server use:
- Event announcements: full date plus a countdown, for example
Starts <t:1798765200:F> (<t:1798765200:R>). Readers get the exact day and a sense of urgency in one line. - Recurring times such as a daily reset or a weekly raid: the short time style
t, because the date changes but the time does not. - Deadlines for applications or giveaways: the long date
Dor the defaultf, so nobody misreads a number-only date in a different regional order. - Logs or moderation notes where precision matters:
S, which adds seconds to a short date.
Formatting around the code helps too. A header line with the event name, the timestamp on the next line and a small -# subtext note with the time zone you planned in makes the post scannable. If the event is a server milestone, such as a push to unlock new perks, our breakdown of Discord server boost levels lists what each level actually adds, and if the giveaway prize is a subscription, our guide to what Nitro costs helps you describe it accurately.
Where the Codes Work and What Each Reader Sees
Timestamps are part of Discord's documented message formatting, the same reference developers use for mentions and custom emoji, so they work in regular chat messages and in messages sent by bots and webhooks that follow that reference. If your server runs the same event every week, a pinned message holding the codes saves you from rebuilding them each time.
Because the code stores a single moment rather than a clock reading, each viewer's app does its own conversion. That is why one message can show Thursday evening to one member and Friday morning to another, and why nothing needs to be edited when a reader's local clocks shift. The tradeoff is that you cannot force a specific zone: if you want to state the time you planned around, write it in plain text next to the code.
The same goes for the written format. Since the documentation ties the display to each user's locale as well as their time zone, two members reading the same d or s code may see the day and month in different orders, or a 24-hour clock next to an AM and PM one. That is exactly why the spelled-out styles, D, f and F, are the safer pick for anything with a hard deadline: a month name cannot be misread, whatever order a reader's app puts the numbers in.
One last habit worth building: when you schedule something far ahead, add the relative style as well. A date alone is easy to skim past, while "in 6 weeks" quietly turns into "in 2 days" as the event approaches, which does a lot of reminding for you.
Running a Server That Looks Organized
Clear times and tidy formatting make a community feel well run, and the account posting those announcements is part of that first impression. If you would like a memorable name or an older profile for the account that runs your server, the store's Discord account hub collects listings for 3 and 4 letter usernames, OG names, accounts with Nitro, Early Supporter or verified badges, and legacy 2015 and 2016 profiles. Quick filters cover each of those categories, and every listing notes its username type, badges, Nitro status and delivery details.
Frequently Asked Questions
How do you make a timestamp in Discord?
Type <t: followed by a Unix time in seconds, an optional colon and style letter, and a closing >, for example <t:1798765200:F>. Discord converts it into a date and time in each reader's time zone.
What does R mean in a Discord timestamp?
R is the relative time style. Instead of a date it shows phrases such as "in 2 days" or "4 years ago," and it updates as time passes, which makes it useful for countdowns to events and deadlines.
What is the default Discord timestamp format?
If you leave out the style letter, Discord uses f, which shows the long date with a short time, such as April 20, 2021 at 16:20 in the documentation's example.
Why is my Discord timestamp showing the wrong date?
The usual cause is pasting milliseconds instead of seconds. A current Unix time in seconds has 10 digits; if yours has 13, divide it by 1,000 and drop the decimals. If it is off by a few hours instead, check that the time was converted with your UTC offset.
How do I show the timestamp code without it converting?
Wrap it in backticks to make it inline code. Code formatting displays its contents literally, so the raw <t:...> text stays visible for others to copy.
Can I make a timestamp show a specific time zone?
No. The code always displays in each viewer's own time zone and locale. If you want to mention the zone you planned in, write it as plain text beside the code.