1. Millisecond value
Discord expects seconds. A 13-digit number is milliseconds and will land the event tens of thousands of years in the future. Ten digits is the check.
Convert any date and time from your time zone into a Discord timestamp code. Paste one code and every member sees the moment in their own local time — no hour counting, no “what time is that for me?” replies.
How it looks in Discord
The tournament starts —
| Fmt | Style | Preview | Code | Copy |
|---|---|---|---|---|
| :t | Short time | — |
—
|
|
| :T | Long time | — |
—
|
|
| :d | Short date | — |
—
|
|
| :D | Long date | — |
—
|
|
| :f | Short date and time | — |
—
|
|
| :F | Long date and time | — |
—
|
|
| :R | Relative | — |
—
|
A Discord time zone converter is also called a Discord timestamp generator: the same code renders differently for every reader, always correctly.
Three steps
It takes about twenty seconds, and you only do the conversion once — every future reader gets it right automatically.
:F. For a countdown, copy :R.
Reference
One Unix value, seven faces. The letter after the last colon decides how the moment is displayed.
| Style | Shows | Example output | Use it for |
|---|---|---|---|
:t |
Short time | 9:41 PM | A time today, where the date is obvious. |
:T |
Long time | 9:41:07 PM | Precise start times and race check-ins. |
:d |
Short date | 11/14/2026 | Deadlines where only the day matters. |
:D |
Long date | November 14, 2026 | Save-the-date posts. |
:f |
Short date and time | November 14, 2026 9:41 PM | The default whenever no letter is supplied. |
:F |
Long date and time | Saturday, November 14, 2026 9:41 PM | Event announcements — the weekday is explicit. |
:R |
Relative | in 3 hours | Countdowns that update themselves. |
:F and :R in the same message.
:F gives the absolute date and weekday; :R gives a countdown that keeps
itself current. Members get both the fixed reference and the urgency without you editing anything.
Under the hood
Every Discord timestamp is the same three-part shape. Once you see it, the whole system makes sense.
The code is a plain-text marker with three parts: an opening angle bracket and a lowercase t, the Unix value in seconds, an optional style letter after a colon, and a closing bracket.
A Unix timestamp is a single integer counting seconds since a fixed moment. It has no time zone inside it, which is the whole point: the same number can be read correctly anywhere on Earth. Discord reads the number, looks at the viewer’s device time zone, and formats the result. Your time zone is only used while you are generating the code.
You can build the code yourself without any tool. Take the moment in your head, convert it to
Unix seconds, then wrap it: <t:1735689600:F>. The hard part is always the
conversion step — a single hour of daylight saving error moves an event by an hour for
everyone. The generator exists to remove that step, not to hide it.
Troubleshooting
Almost every report comes down to one of five causes. Work through them in order.
Discord expects seconds. A 13-digit number is milliseconds and will land the event tens of thousands of years in the future. Ten digits is the check.
Every character matters: the angle brackets, the lowercase t, the colon before the number, and no spaces anywhere inside.
The code is correct but the reader’s device time zone is wrong. Discord renders from their machine, so a mis-set laptop or phone shifts the display for that person only.
If you wrote the code during standard time but the event falls after a DST switch, an hour disappears. The generator already accounts for this — hand-built codes often do not.
Very distant dates, or values that overflow JavaScript’s safe integer range, fail silently. Keep dates within normal years and the problem disappears.
A desktop client that has been open for days can render stale values. Reload with Ctrl+R — Cmd+R on macOS — before debugging further.
Choose the right method
Discord now offers two ways to do the same job. They are not interchangeable in every situation.
| Situation | Timestamp code | @time mention |
|---|---|---|
| Desktop composer | Works | Works, where the rollout is live |
| Mobile apps | Works | Limited |
| Bot messages and embeds | Works | Not applicable |
| Copy into a doc or note | Works — it is plain text | Depends on the client |
| Editing later | Edit the number, keep the style | Re-insert |
@time when it is
available and you are typing directly into the desktop composer.
Developers
A timestamp is plain text, so there is no API method to call and nothing to enable.
Take the event time in seconds and interpolate it into the marker. The style letter is yours to choose per message.
const when = Math.floor(eventStart / 1000);
const code = `<t:${when}:F>`;
message.channel.send(`Starts ${code}`);
Send both styles. The absolute date anchors people; the relative time creates urgency and keeps itself current.
const when = Math.floor(eventStart / 1000);
const msg =
`Starts <t:${when}:F> ` +
`(<t:${when}:R>)`;
message.channel.send(msg);
Store the value in UTC seconds, never in milliseconds and never as a formatted date string. Formatting belongs to Discord’s client, not to your database.
Questions
The questions that come up most often, answered directly.
A Discord time zone converter takes a date and time in your own zone and turns it into a Discord timestamp code. Discord then shows that code in every reader's local time, so one message works for members in Karachi, London, New York and Sydney at once.
A Discord timestamp is a short code like <t:1735689600:F> that Discord replaces with a real date and time. Because the code stores a fixed moment in Unix time, every member sees it in their own local time zone automatically.
Pick a date, a time and your time zone in the generator at the top of this page. The tool converts that moment into Unix seconds and produces all seven Discord timestamp codes. Press copy on the format you need and paste it into any Discord message.
Discord reads the Unix value, converts it to the viewer's device time zone and renders the style letter you chose. The sender's own time zone is never used, so a code created in Karachi displays correctly in New York, London and Sydney.
Use :F for event announcements because it includes the weekday. Use :f when you want a compact date and time. Use :R for countdowns and deadlines since it updates itself. Use :t or :T for a time-only reference, and :d or :D when the date matters but the time does not.
Three causes cover almost every case: the Unix value is in milliseconds instead of seconds, the code is missing the angle brackets or the leading t, or the viewer's device clock and time zone are wrong. Discord always renders in the reader's local time, so a wrong time on one screen is a device setting problem.
Yes. The code stores UTC-based Unix seconds, and each viewer's client converts it using the current time zone rules for their region. You never need to add or subtract an hour yourself when a region changes its clocks.
They work everywhere Discord renders message text: servers, threads, forum posts, DMs and bot embeds, on desktop, iOS, Android and the web client. The same code renders identically on every platform.
The @time mention is a newer Discord feature, currently limited in rollout, that inserts a timestamp through the composer. A timestamp code is the original text format and works in every client, in bot messages, in embeds and inside saved text you reuse later.
Yes. A timestamp code is plain text, so any bot can include it in message content or an embed description. No special API call is needed — build the string <t:SECONDS:STYLE> and Discord renders it for each reader.
Yes. The generator is free, requires no account and runs entirely in your browser. Nothing you type is uploaded or stored on a server.