Discord Timestamps: The Complete Formatting Guide
Master every Discord timestamp format: <t:...:t>, :T, :d, :D, :f, :F and :R - with examples, limits and common mistakes.
How Discord timestamps work
Discord timestamps are markdown snippets that render as a time shown in every reader's local timezone. The syntax is <t:UNIX_SECONDS:STYLE>, where STYLE is one of 7 letters. Because the rendering happens per-viewer, you never have to calculate timezone offsets again.
You can use them anywhere Discord markdown works: normal chat, embeds via webhooks, channel topics, or bot messages.
The 7 timestamp styles
t - Short Time (e.g. 14:30), T - Long Time (14:30:00), d - Short Date (20/08/2026), D - Long Date (20 August 2026), f - Short Date/Time (20 August 2026 14:30) - this is the default and most common, F - Long Date/Time (Friday, 20 August 2026 14:30), and R - Relative Time (4 minutes ago), which updates live.
Note that the letter is case sensitive: :T is long time, :t is short time, and :R gives you the always-fresh 'X ago' style.
Generating timestamps without a calculator
Converting a date to Unix seconds and remembering the style letters is exactly what the Timestamp Generator is for. Pick any date (or 'now'), choose a style, and copy the ready-made snippet. Each style is shown both as code and as a rendered preview.
Common mistakes
The most frequent error is using milliseconds instead of seconds - Discord wants Unix seconds, so a value like 1700000000000 breaks the timestamp. Also, while relative timestamps can point far into the future, Discord may not render timestamps beyond the year 2038 on every device.
Timestamps in embeds, bots and webhooks
Timestamps are not limited to ordinary chat messages. They work inside embed descriptions and fields, which makes them perfect for bots that announce events, countdowns or maintenance windows. A bot can send the same embed to a thousand servers and every member still sees the event time in their own timezone.
When you build embeds through the Embed Builder or Webhook Sender on this site, you can paste a <t:...> snippet directly into a description or field value and it will render as a clickable timestamp for every reader.
For bots using the API, the timestamp string is passed through verbatim as markdown - Discord handles the rendering client-side, so no bot library or API version needs special support.
Best practices for announcements
For event announcements, prefer the short date/time style (:f) or the relative style (:R). Relative timestamps update automatically and answer the question 'when is this happening?' without requiring the reader to do mental math from another timezone.
Combine a timestamp with a clear sentence rather than sending it alone. 'The giveaway ends <t:...:R>' is far clearer than a bare timestamp. If you reference the same event repeatedly, generate the timestamp once and reuse the exact same snippet so every mention stays in sync.
Finally, be aware that timestamps inside code blocks and spoiler tags will not render as time - Discord treats those as literal text. Keep timestamps in normal message text, embed descriptions or embed fields.
How Discord stores and renders timestamps
Discord's API and message storage keep your text exactly as you typed it. The <t:...> syntax is not converted to a time object in the message; it is rendered on demand by each client. That is why the same message shows a different relative time to different readers and why editing a timestamp requires editing the raw text.
The rendering is handled by the client's markdown parser, which is why formatting behaves consistently across desktop, web and mobile. The single source of truth is always the plain text you sent, which also means any tool that writes Discord text - including our generators - can safely include timestamps.
Quick reference table
Keep this summary handy: t gives short time (18:45), T gives long time with seconds (18:45:12), d gives short date (20/08/2026), D gives long date (20 August 2026), f gives short date and time (20 August 2026 18:45), F gives long date and time (Friday, 20 August 2026 18:45), and R gives relative time (in 3 hours, 5 minutes ago).
The default style - when you omit the letter entirely - is the same as f, the short date and time format. Most servers use f for scheduled events, D for date-only announcements, and R for countdowns, which between them cover almost every real use case.
For a copy-paste workflow, the Timestamp Generator on this site produces the exact snippet for any style in one click, so you never have to remember the letters or do Unix conversion by hand.
Related tools on this site
This guide is paired with free tools that put the technique into practice. The Snowflake Converter decodes any Discord ID instantly and in reverse. The Timestamp Generator builds every timestamp style with a live preview. The Webhook Sender and Embed Builder compose and send webhook payloads without writing code. All of them run entirely in your browser with no account, no install and no data leaving your device.
The rest of the blog covers adjacent topics, and the guides section holds reference pages for sizes, limits and formatting rules. If this article answered the "how", the tools answer the "what do I do now" - paste your own data in and the output is ready to use immediately.
About this guide
This article is written and maintained by the team behind Discord Tools Hub, an independent site that is not affiliated with Discord Inc. It was first published on 2026-08-18 and is reviewed against the current desktop and mobile clients whenever Discord ships a relevant change. Everything here is tested before publishing, and corrections are made openly when a detail shifts.
If you found an error, or if a technique stopped working on your client, the fastest way to help is to report it through the contact page. Including the browser, the device and a short description of what you expected lets us verify and fix it quickly.