How Discord Timestamps Work

Two pieces — a Unix timestamp and a format letter — are all Discord needs to render a date that's correct for every reader, in their own timezone. Here's the full mechanism.

The two pieces of a Discord timestamp

Every Discord timestamp is built from a Unix timestamp — the number of seconds that have elapsed since January 1, 1970 at 00:00 UTC — and a single format letterthat tells Discord's client how to display it. Wrapped together inside angle brackets, prefixed witht:, they look like <t:1735689600:F>. Discord recognizes this exact pattern anywhere it appears in message content, embed fields, or webhook payloads.

What happens when Discord renders it

When a message containing that markup reaches a reader's screen, their Discord client — not a server — does the conversion: it reads the Unix number, reads the format letter, and formats the result using that device's own timezone and locale settings. Nobody's timestamp passes through a lookup or calls out to any API at render time; the same fixed UTC moment simply gets displayed in whatever local time each reader's own device already knows. That's the entire mechanism behind "the timestamp shows correctly for everyone" — there's no per-user configuration or timezone picker anywhere in Discord itself, because it doesn't need one.

What this tool automates

The two fiddly parts of building that markup by hand are figuring out the correct Unix number for a date you have in mind, and remembering which of the seven letters produces which style. This generator removes both: you pick a date and time using an ordinary date/time picker (interpreted asyour own local time — the same time your screen is already showing you), and the page converts that into Unix seconds using JavaScript's built-in Date object, then assembles the final string with whichever format letter you've selected.

Under the hood

This specific page runs entirely inside your browser tab. Picking a date, choosing a format, building the preview, and copying the result to your clipboard involve zero network requests — open your browser's developer tools and watch the Network panel stay empty while you use the tool. There is no server component to this generator; it's a static page plus client-side JavaScript.

Why the reader's timezone, not the sender's

This is the detail that trips people up: the timestamp doesn't store a timezone at all — only a single absolute point in time (UTC seconds). Timezone only enters the picture at the very last step, on the reader's own device, using whatever timezone that device is already configured with. That's why two people in different countries reading the exact same message see two different clock times, both correct. See the timezone converter page for a worked example, or the full format reference for what each of the seven letters produces.

Try it now

Pick a date & time

Setting this time in

Format

Discord preview

you

 

Code to paste

All formats, this moment

CodeNameRenders asPaste this
tShort Time9:01 PM<t:…:t>
TLong Time9:01:00 PM<t:…:T>
dShort Date11/28/2018<t:…:d>
DLong DateNovember 28, 2018<t:…:D>
fShort Date/TimeNovember 28, 2018 9:01 PM<t:…:f>
FLong Date/TimeWednesday, November 28, 2018 9:01 PM<t:…:F>
RRelative Time3 years ago<t:…:R>

Frequently asked questions

How does a Discord timestamp work?

A Discord timestamp is markup — <t:UNIXTIME:FORMAT> — that encodes one fixed moment in time (in UTC seconds) plus a format letter. When Discord's client renders the message, it converts that single moment into a date/time string using whatever timezone and locale the reader's own device is set to. Nothing is looked up from a server at render time — the conversion happens entirely in each person's own Discord client.

Does Discord support timestamps natively?

Yes — the <t:UNIX:FORMAT> syntax is built into Discord's own message renderer, on every official client (desktop, web, iOS, Android). This tool doesn't add a feature to Discord; it just generates the correct syntax for you so you don't have to calculate Unix time or memorize the seven format letters.

What is a "dynamic" Discord timestamp?

"Dynamic" describes the fact that the same code renders differently depending on who is viewing it (their timezone) and, for the R format, when they view it (the relative phrase keeps updating). It's the opposite of typing a fixed sentence like "3pm EST" that means something different to every reader and never changes.

Is Discord timestamp syntax the same as Markdown?

It's Discord-specific message markup, not standard Markdown — Discord layers several custom syntaxes (mentions, timestamps, spoilers) on top of the Markdown-like formatting it also supports (bold, italics, code blocks). The timestamp syntax follows the same angle-bracket pattern as Discord's user/channel mentions.