Discord Timestamp — The Complete Guide to All 7 Formats
A Discord timestamp is a special code in the format <t:UNIX:f> that automatically displays the correct local time for every server member. Discord converts the Unix timestamp inside the code to each viewer's local timezone and clock format — a single code shows "8:00 PM" for a member in New York and "1:00 AM" for a member in London simultaneously. Since January 2026 you can type @time in any message box to generate timestamp codes without manual Unix conversion. Use the Discord Timestamp Generator to generate any timestamp code instantly.
A Discord timestamp is a markdown tag that Discord renders as a localized date and time for every viewer based on their own device's system clock — automatically, with no setup required from the reader.
What Is a Discord Timestamp?
A Discord timestamp is a Discord-specific markdown code that displays a date and time differently for every reader based on their local timezone. Unlike typing "8 PM EST" — which requires every reader in a different timezone to convert manually — a Discord timestamp code does the conversion automatically for all 500 million Discord users simultaneously.
Discord timestamps are built on Unix time — a running count of seconds since January 1 1970 at 00:00:00 UTC. The raw Unix timestamp inside every Discord timestamp code is timezone-agnostic — it represents the same absolute moment everywhere on Earth. Discord's client converts that raw number to each viewer's local time when displaying the message.
Discord timestamps work in every Discord text field that supports markdown — channel messages, DMs, bot responses, embeds, About Me bios, custom statuses, AFK tags, and pinned messages.
What Is the Discord Timestamp Syntax?
Every Discord timestamp follows this exact syntax — replace UNIX with your 10-digit Unix timestamp in seconds and STYLE with a single format code letter:
<t:UNIX_TIMESTAMP:STYLE_LETTER>
Three rules govern Discord timestamp syntax:
Seconds only — your Unix timestamp must be in seconds (10 digits). If your number is 13 digits it is in milliseconds — divide by 1000 before using it.
Case sensitivity — style letters are case-sensitive. Lowercase :t gives Short Time. Uppercase :T gives Long Time. Lowercase :f gives Short Date/Time. Uppercase :F gives Long Date/Time. Using the wrong case gives a completely different output.
Local translation — the output adjusts based on each viewer's Discord language and region setting. A viewer with a 24-hour clock set sees "20:00" where a viewer with a 12-hour clock sees "8:00 PM" — from the exact same code.
If you omit the style letter entirely and use just <t:UNIX_TIMESTAMP>, Discord defaults to the Short Date/Time format (:f).
All 7 Discord Timestamp Format Codes
Using the example Unix timestamp 1543392060 (November 28, 2018 at 9:01 AM UTC):
| Format Code | Format Name | Example Output |
|---|---|---|
| Default (no code) | Short Date/Time | November 28, 2018 9:01 AM |
:t | Short Time | 9:01 AM |
:T | Long Time | 9:01:00 AM |
:d | Short Date | 11/28/2018 |
:D | Long Date | November 28, 2018 |
:f | Short Date/Time | November 28, 2018 9:01 AM |
:F | Long Date/Time | Wednesday, November 28, 2018 9:01 AM |
:R | Relative Time | 7 years ago / in 2 hours |
Short Time — :t
Displays the time only, without a date. Best for recurring events where the date is already established — "Next stream at <t:1543392060:t>" reads cleanly as a clock time in each viewer's local timezone.
Long Time — :T
Same as Short Time but includes seconds. Rarely needed for general server use but useful for precise technical logging, moderation records, or any context where exact seconds matter.
Short Date — :d
Displays the date in numeric format only, without a time. Clean and compact for reference lists, birthday entries, and any date-only context where the time is irrelevant.
Long Date — :D
Displays the full written date without a time — "November 28, 2018." Best for birthday lists, anniversary dates, and event dates where showing the clock time would add unnecessary clutter.
Short Date/Time — :f
The default format when no style letter is specified. Shows both the date and time in a clean readable format. The most commonly used format code for event announcements, meeting times, and server scheduling.
Long Date/Time — :F
The most complete format — includes the full day of the week, written month, date, year, and time. Best for formal event announcements, changelogs, and any message where maximum clarity matters. This is the recommended format for main gaming raid announcements and community events.
Relative Time — :R
The most unique and powerful format. Displays auto-updating text like "in 3 days," "in 2 hours," "just now," or "3 days ago" — and it keeps updating live every time someone reads the message. This is the only Discord timestamp format that changes after the message is sent. Use it for live countdowns, urgency, and recency indicators.
How Do You Create a Discord Timestamp?
There are 4 methods to create a Discord timestamp — from fastest to most technical:
Method 1 — @time Mention (Fastest, January 2026+)
Type @time directly in any Discord message box. Discord opens a built-in date and time picker — select your date and time and Discord inserts the complete timestamp code automatically. No external tool, no Unix calculation, no leaving the app.
This is the fastest method for one-off times and requires zero knowledge of Unix timestamps or format codes.
Method 2 — Discord Timestamp Generator (Most Control)
Go to the Discord Timestamp Generator, pick your date, time, and timezone, choose your format code from the visual selector, and copy the ready-to-paste code. The generator handles all Unix conversion and outputs all 7 format codes simultaneously so you can pick the one that fits your use case.
Best for planned announcements, event scheduling, and building timestamp codes for bot responses or pinned messages.
Method 3 — Manual Unix Conversion
If you already know your Unix timestamp in seconds:
- Take your 10-digit Unix timestamp — for example
1776711688 - Choose your style letter —
:Ffor full date and time,:Rfor relative countdown - Build the tag: <t:1776711688:F>
- Paste into Discord
Use the Unix Timestamp Converter to convert any date and time to a 10-digit Unix timestamp in seconds if you are starting from a human-readable date.
Method 4 — Bot Code (Developers)
For Discord bots sending timestamp codes programmatically:
JavaScript (Discord.js):
const unixTime = Math.floor(Date.now() / 1000);
message.channel.send(`Event starts <t:${unixTime}:F>`);
Python (discord.py):
import time
unix_time = int(time.time())
await ctx.send(f"Event starts <t:{unix_time}:F>")
Note: JavaScript's Date.now() returns milliseconds — always divide by 1000 with Math.floor to get seconds. Python's time.time() returns seconds as a float — wrap in int().
When Should You Use Each Discord Timestamp Format?
| Use Case | Recommended Format | Why |
|---|---|---|
| Event announcement | :F | Full date, day, and time at a glance |
| Live countdown to event | :R | Auto-updates, builds anticipation |
| Both combined | :F + :R | Calendar anchor plus live urgency |
| Birthday or anniversary list | :D | Date only, no time clutter |
| Meeting start time (date known) | :t | Clean clock time only |
| Moderation log entry | :F | Full date and time for records |
| "X minutes ago" recency | :R | Auto-updates to show elapsed time |
| Game launch countdown | :R | Live ticker builds hype |
| Stream schedule | :f | Compact date and time |
| AFK or vacation status | :R | "Back in 3 days" updates live |
How Do Discord Timestamps Beat Manual Timezone Conversion?
Typing "8 PM EST" forces every member in a different timezone to calculate manually. A member in India (IST, UTC+5:30) needs to add 10.5 hours. A member in Australia (AEST, UTC+10) needs to add 15 hours. At each step there is room for error — wrong timezone abbreviation, forgotten Daylight Saving Time, half-hour offset timezones.
A single Discord timestamp code eliminates all of this:
- No timezone confusion — readers never need to know EST, PST, or CET
- No mental math — conversion happens automatically on each viewer's device
- No stale messages — Relative Time format updates live regardless of when the message is read
- No format preference conflicts — each viewer sees 12-hour or 24-hour based on their own Discord settings
- No rescheduling errors — update the Unix timestamp number and every reader sees the correct new time instantly
For the full comparison see the Discord Timestamps vs Manual Timezone Conversion guide.
How Do Discord Timestamps Work Internally?
Discord timestamps operate in two distinct layers:
Server-side storage: Discord's servers save the raw markdown syntax string exactly as typed — for example <t:1543392060:F>. No timezone conversion happens at the server level. The stored value is a timezone-agnostic Unix timestamp integer.
Client-side rendering: When any user's Discord client loads the message, it reads the Unix timestamp inside the code, checks the user's operating system timezone setting, and renders the localized time string. A user in New York and a user in Tokyo reading the exact same message both see the correct local time for their own location — from a single stored code.
The Relative Time format (:R) additionally runs an ongoing background interval on the client that continuously recalculates the delta between the target Unix timestamp and current time — updating the display from "in 3 hours" to "in 2 hours" to "just now" to "1 hour ago" without the message being edited.
What Are Discord Snowflake IDs and How Do They Relate to Timestamps?
Every object on Discord — every user, server, channel, message, and role — has a Snowflake ID. A Snowflake ID is a 64-bit integer that encodes the exact creation timestamp of that object in its most significant 42 bits, using milliseconds elapsed since the Discord epoch (January 1 2015 at 00:00:00 UTC — constant 1420070400000).
The formula to decode a Snowflake ID to a Unix timestamp:
Unix Milliseconds = (Snowflake >> 22) + 1420070400000
Then divide by 1000 to get seconds for use in a Discord timestamp code.
Use the Discord Snowflake ID Decoder to decode any user ID, server ID, channel ID, or message ID to a readable creation date instantly without manual calculation.
Troubleshooting — Why Is My Discord Timestamp Not Working?
Problem: Timestamp shows a date thousands of years in the future Cause: Your Unix timestamp is in milliseconds (13 digits) not seconds (10 digits). Fix: Divide your number by 1000. The Discord Timestamp Generator always outputs the correct 10-digit seconds value.
Problem: Timestamp shows January 1 1970 Cause: Your Unix timestamp value is 0 or very close to 0. Fix: Your date conversion failed — regenerate using the Discord Timestamp Generator.
Problem: The code shows as plain text, not a rendered timestamp Cause: The markdown syntax is incorrect — missing angle brackets, wrong colon placement, or used in a field that does not support markdown (channel names, server descriptions, role names). Fix: Verify the exact format — <t:UNIXNUMBER:F> — and paste in a message text field only.
Problem: Wrong time displayed Cause: The viewer's device system clock or timezone setting is incorrect, or you used milliseconds instead of seconds. Fix: Verify your 10-digit value at the Unix Timestamp Converter and ask the viewer to check their device timezone settings.
Problem: :f and :F look the same
Cause: The difference between Short Date/Time (:f) and Long Date/Time (:F) is the day of the week — :F includes "Wednesday" before the date. On dates where the distinction matters this is visible. On some display sizes it may appear identical.
Discord Timestamp Use Cases — Complete Reference
Event announcements and meetings: Use :F for the full date and :R for a live countdown in the same message. This covers all timezones automatically and builds urgency as the event approaches.
Gaming raids and tournaments: Use :F as the primary announcement format — it shows the day of the week which is critical for weekly raid schedules. Add :R for a live countdown in the same post.
Birthday and anniversary lists: Use :D for clean date-only entries with no time component. Pin the list in a dedicated channel.
AFK and vacation statuses: Use :R in your About Me or custom status — "Back <t:1784428800:R>" reads as "Back in 3 days" and updates live.
Bot responses and embeds: Generate the Unix timestamp programmatically in your bot code, verify it is 10 digits in seconds, and interpolate it into the message content string before sending.
Moderation logs: Use :F for exact date and time records. Always log alongside the Discord Snowflake ID so records remain accurate after username changes.
Stream schedules: Use :f for compact schedule listings or :F for featured stream announcements.
For more ideas see the 10 Creative Ways to Use Discord Timestamps guide.
Common Mistakes to Avoid
- Using milliseconds instead of seconds. The single most common error — always verify your Unix timestamp is 10 digits. A 13-digit value displays a date in the year 56000. Divide by 1000 to fix it.
- Wrong case on the style letter.
:fis Short Date/Time.:Fis Long Date/Time.:tis Short Time.:Tis Long Time. The letters are case-sensitive — using the wrong case gives a completely different output. - Missing the colon before the style letter. The correct syntax is <t:UNIX:F> — the colon between the number and the letter is required. Omitting it breaks the tag.
- Using timestamp syntax in channel names or server descriptions. Discord timestamp markdown only renders in message text fields — it displays as literal text everywhere else.
- Manually adjusting the Unix timestamp for timezone. Never add or subtract hours from your Unix timestamp to account for timezones. The number is timezone-neutral — Discord handles all conversion automatically. Adjusting it manually produces the wrong time for everyone except you.
- Reusing old timestamps for recurring events. A Unix timestamp from last week shows "7 days ago" in
:Rformat. Always generate a fresh timestamp for each occurrence.
Related Guides
- Discord Timestamp Formats — All 7 Styles Explained
- Discord Timestamp Cheat Sheet
- Discord Timestamps vs Manual Timezone Conversion — Why Timestamps Win
- Epoch to Discord Timestamp — Complete Guide
- Discord Timestamp Bots — Top Bots With Timestamp Features
- Discord Event Time Announcement
Generate any Discord timestamp code instantly with the Discord Timestamp Generator, convert any date to a Unix timestamp with the Unix Timestamp Converter, build a live countdown with the Discord Countdown Generator, or decode any Discord ID with the Discord Snowflake ID Decoder.
Frequently Asked Questions
Ready to generate Discord timestamps?
Open the Generator