Discord timestamp generator
Pick a date, a time and a time zone, and this Discord timestamp generator gives you the <t:...> code for every style. Paste it into a message and each reader sees the time in their own time zone and language, so nobody has to convert “8 PM Eastern” again.
It covers all nine styles in Discord's developer docs as checked on September 27, 2026, including s and S. To go the other way, paste a code, a unix timestamp or a Discord ID into the reader below the codes. Everything runs in your browser.
Pick a date and time
The date and time are read as local time in this zone. Your browser reports UTC.
Unix timestamp
Pick a date and time.
Discord timestamp codes
Copy a code into your message. Previews show UTC time in the language you pick; each reader sees their own time zone and language.
The codes appear when a date and time are set.
Read a timestamp
Accepts a full code, seconds, milliseconds, or a user, message or server ID (which shows when it was created).
How the Discord timestamp format works
A Discord timestamp is <t:UNIX:STYLE>: a unix timestamp in seconds, then one style letter that sets the time format. Discord's message formatting docs say timestamps display “in the user's timezone and locale”, so every reader gets the same moment written their own way. Leave the letter out, as in <t:1790540430>, and Discord uses f.
These are the nine styles the docs list as of September 2026, with what Discord's web app shows a US English reader in New York for 1790540430 (September 27, 2026, 4:20:30 PM Eastern):
| Style | Code | Name | Shows as |
|---|---|---|---|
t | <t:1790540430:t> | Short time | 4:20 PM |
T | <t:1790540430:T> | Medium time | 4:20:30 PM |
d | <t:1790540430:d> | Short date | 9/27/26 |
D | <t:1790540430:D> | Long date | September 27, 2026 |
f | <t:1790540430:f> | Long date, short time | September 27, 2026 at 4:20 PM |
F | <t:1790540430:F> | Full date, short time | Sunday, September 27, 2026 at 4:20 PM |
s | <t:1790540430:s> | Short date, short time | 9/27/26, 4:20 PM |
S | <t:1790540430:S> | Short date, medium time | 9/27/26, 4:20:30 PM |
R | <t:1790540430:R> | Relative time | “in 2 hours” or “3 days ago” |
The letters are case-sensitive, so d and D are different styles. A letter that isn't in the table stops the code from rendering, and readers see the raw text instead. Readers with another app language get that language's date format, which is why the tool has a preview language switch.
Time zones and daylight saving
The generator reads your date and time as local time in the zone you pick and converts it with your browser's time zone data, so daylight saving is handled per date: 4:20 PM in New York is UTC−04:00 in September and UTC−05:00 in January. Pick the zone where the event happens, not where you live. A 7 PM start in Los Angeles is America/Los_Angeles even if you post from London.
In zones with daylight saving, two nights a year need a decision, and the tool flags both:
- When clocks jump forward, a time like 2:30 AM never happens. The tool moves it forward by the gap, to 3:30 AM.
- When clocks go back, 1:30 AM happens twice. The tool uses the first one unless you tick the box for the second.
Countdowns with the relative style
R shows “in 2 hours” or “3 days ago” and keeps updating while the message is on screen, which makes it the style for event starts, giveaway ends and check-in deadlines. In Discord's web app (checked September 27, 2026) it counts seconds for the first minute, then minutes, hours, days, months and years, rounding as it goes. It never shows the exact time, so pair it with F when that matters: <t:1790540430:F> (<t:1790540430:R>).
Using Discord timestamps in bot code
Bots send the same codes. discord.js exports a time() helper and a TimestampStyles object with a name for each letter. The handler below is tested with discord.js 14.27.0 on Node 24 and a stand-in interaction; it replies Check-in opens <t:1791050400:R>, on <t:1791050400:f>.
const { time, TimestampStyles } = require('discord.js');
async function execute(interaction) {
const start = new Date('2026-10-03T18:00:00Z');
await interaction.reply(
`Check-in opens ${time(start, TimestampStyles.RelativeTime)}, on ${time(start, TimestampStyles.LongDateShortTime)}.`,
);
}
module.exports = { execute };time() takes a Date or a number of seconds. Passing Date.now() is a common bug: that is milliseconds, so the message shows a date tens of thousands of years away. In discord.py the helper is discord.utils.format_dt(dt, "R"). Give it a timezone-aware datetime, because a naive one is read as the local time of the machine the bot runs on.
Reminders, check-in windows and schedules pulled from a calendar or a league's API are the kind of thing I build into slash commands, for example in league and tournament bots. If the dates live in another system, see Discord integrations. Setting up a new bot first? The permissions calculator builds its invite link.
Common questions
How do you make a timestamp in Discord?
Type <t:, a unix timestamp in seconds, a colon, a style letter and >, for example <t:1790540430:R>, anywhere in a message. The generator above works out the number from a date, time and time zone, so you only copy and paste.
Why does my Discord timestamp show a different time for other people?
That is how the format is meant to work. Discord shows a timestamp in each reader's own time zone and language, so 4:20 PM in New York shows as 10:20 PM for someone in Stockholm. If the time is wrong for everyone, check which time zone you picked when you made the code.
Why is my Discord timestamp not working?
Usually one of three things. The code is inside backticks, which makes it a code block that shows the raw text. The style letter isn't one of t, T, d, D, f, F, s, S or R, and capitals matter. Or the number is in milliseconds, which gives a date tens of thousands of years ahead. Paste the code into the reader above to check it.
How do I make a countdown in Discord?
Use the R style. <t:1790540430:R> shows as something like "in 2 days" before that moment and "2 days ago" after it, and it updates while the message is open. Set the event time above and copy the R row.
What is a unix timestamp?
The number of seconds since January 1, 1970 at midnight UTC. It is the same number everywhere in the world at a given moment, which is why Discord can turn it into each reader's local time.
Sources
Timestamp styles were checked against Discord's docs on September 27, 2026.
- Discord developer docs, Reference: message formatting and timestamp styles
- Discord developer docs, Reference: snowflake IDs and their timestamps
- discord.js 14.27.0 docs, time()
- discord.js 14.27.0 docs, TimestampStyles
- discord.py docs, discord.utils.format_dt
- Discord Support, Markdown Text 101 (code blocks)
Want a bot that posts these for you?
Tell me what the bot should announce and where the dates come from. You get a reply within one business day and a fixed quote before any work starts.