DiscordTimestamps

Create localized Discord timestamps for your server events and messages instantly.

Quick Answer
Read Full Explanation
A Discord Timestamp is a formatted Unix timestamp that automatically converts to the viewer's local time zone in Discord.

Short Answer

A Discord Timestamp uses the syntax <t:unix_time:format> to display dynamic dates and times. It relies on Unix epoch seconds and localizes automatically to every user's device, making it perfect for global communities.

Detailed Explanation
Discord timestamps solve the classic scheduling problem: "What time is that for me?" By sending an absolute Unix timestamp combined with a formatting flag, Discord offloads timezone calculation to the client application. The syntax supports absolute times (like 'April 10, 2024') and relative countdowns (like 'in 2 hours').
Comprehensive Overview
When developers and community managers need to coordinate global events, time zone conversions often lead to confusion. A Discord Timestamp is an elegant solution built natively into Discord's markdown system. It uses an integer representation of time (Unix Epoch Time) which acts as a single source of truth globally.

When a user sends this integer formatted with special characters (e.g. <t:1672531199:F>), the raw integer is passed to the Discord client. The client then checks the operating system's timezone settings and renders the time locally for that specific user. This means a single message will correctly display 3:00 PM for someone in New York, and 8:00 PM for someone in London, without requiring any manual math from the sender.
Free Forever No Login Required Privacy Friendly Client-side Processing Mobile Friendly Instant Copy

Base Timestamp

Enter a Unix timestamp to generate formats for.

Invalid Date
Important Note: Discord strictly requires Unix timestamps in seconds. Do not use millisecond timestamps (which have 13 digits) or Discord will render the year thousands of years in the future.

Supported Formats

Short Time

Just the time

<t::t>

Live Discord Preview

Invalid Date

Best for: Daily resets

Long Time

Includes seconds

<t::T>

Live Discord Preview

Invalid Date

Best for: Live events

Short Date

Compact date

<t::d>

Live Discord Preview

Invalid Date

Best for: Birthdays

Long Date

Spells out month

<t::D>

Live Discord Preview

Invalid Date

Best for: Announcements

Short Date/Time

Standard format

<t::f>

Live Discord Preview

Invalid Date

Best for: Default if flag omitted

Long Date/Time

Includes weekday

<t::F>

Live Discord Preview

Invalid Date

Best for: Major scheduled events

Relative Time

Live updating countdown

<t::R>

Live Discord Preview

Invalid Date

Best for: Countdowns

What Is a Discord Timestamp?

Definition

A Discord timestamp is a powerful markdown integration provided by Discord that allows users to send dates and times that dynamically update for whoever is viewing them. Instead of typing a rigid time like "5:00 PM EST," you embed a Unix timestamp.

When the Discord client loads the message, it automatically translates that absolute epoch time into the localized timezone of the viewer's device. This fundamentally solves the issue of scheduling events in global communities where members span multiple time zones.

Why Unix Timestamps?

Discord uses Unix time (seconds since 1970) because it is an absolute, timezone-agnostic value. It acts as a universal anchor point for time.

Automatic Localization

You never have to calculate offsets. If a user in Tokyo and a user in New York see the exact same timestamp code, they will both see their correct local time.

How Discord Timestamps Work

Choose Date
Convert to Unix
Pick Format
Generate Syntax
Paste into Discord
Auto Converts

Format Reference Table

FormatSyntaxPreview ExampleBest Use CaseDeveloper Notes
Short Time<t:1672531199:t>16:20Daily resets, daily meetingsLowercase 't'. Omits date entirely.
Long Time<t:1672531199:T>16:20:30Live events, speedrunsUppercase 'T'. Includes seconds.
Short Date<t:1672531199:d>10/14/2023Birthdays, past logsLowercase 'd'. Respects user locale for D/M/Y vs M/D/Y.
Long Date<t:1672531199:D>October 14, 2023Announcements, holidaysUppercase 'D'. Spells out the month.
Short Date/Time<t:1672531199:f>October 14, 2023 16:20Default if flag is omittedLowercase 'f'. Most common standard format.
Long Date/Time<t:1672531199:F>Saturday, October 14, 2023 16:20Major scheduled eventsUppercase 'F'. Includes the day of the week.
Relative Time<t:1672531199:R>in 5 minutesCountdowns, live timersUppercase 'R'. Automatically updates every minute.

Common Scenarios by Category

Gaming & MMOs

  • Server Maintenance (f)
  • Raid Start Time (t)
  • Double XP Weekend (F)
  • Season End (R)

Community Events

  • AMA Session (F)
  • Giveaway Draw (R)
  • Movie Night (t)
  • Podcast Release (D)

Bot Moderation

  • User Banned (f)
  • Mute Expires (R)
  • Account Created (d)
  • Message Edited (T)

Work & Teams

  • Sprint Deadline (R)
  • Daily Standup (t)
  • All-Hands Meeting (F)
  • Deployment Window (f)

Content Creators

  • Twitch Stream Live (R)
  • YouTube Video Drop (F)
  • Merch Drop (f)
  • Subathon Timer (R)

General

  • New Year (R)
  • Holiday Event (D)
  • Poll Closing (R)
  • Reminder (f)

Relative vs Absolute Time

Relative Time (R)

Expresses time as a difference from the current moment.

  • Examples: "in 2 hours", "3 days ago"
  • Best for: Countdowns, urgency, quick checks
  • Pros: Users don't have to do mental math

Absolute Time (F, f, D)

Expresses time as a specific point in history or the future.

  • Examples: "October 14, 2023 16:20"
  • Best for: Historical logs, exact schedules
  • Pros: Unambiguous, great for long-term planning

Developer Implementation

If you are building a Discord bot, you need to generate these timestamps programmatically. Below are examples in the most common bot libraries.

# discord.js (Node.js)
const { time } = require('discord.js');
const date = new Date();

// Outputs <t:1672531199:R>
message.channel.send(`Event starts ${time(date, 'R')}`);
# discord.py (Python)
from discord.utils import format_dt
import datetime

now = datetime.datetime.now(datetime.timezone.utc)

# Outputs <t:1672531199:R>
await channel.send(f"Event starts {format_dt(now, style='R')}")
# Raw Math (Any Language)
// Get Unix timestamp in SECONDS
const unix = Math.floor(Date.now() / 1000);
const markdown = `<t:${unix}:R>`;

Developer Tip: Embeds

Discord timestamps work perfectly inside embed descriptions, field names, and field values. They do not work inside embed footers or author names.

Troubleshooting Common Issues

Problem: Timestamp shows 1970 or a date way in the past

Solution: You used milliseconds instead of seconds. In Javascript, Date.now() returns milliseconds. Divide by 1000 and floor it.

Problem: Timestamp renders as raw text (e.g. <t:1672531199:R>)

Solution: You have a syntax error. Check for missing colons, spaces inside the brackets, or invalid format characters. Formats are case-sensitive.

Problem: Relative timestamp isn't ticking down

Solution: Discord updates relative timestamps on the minute. If it says 'in 2 days', it won't tick every second. For 'in 5 minutes', it ticks down roughly every minute.

Problem: Time is off by a few hours

Solution: If you hardcoded an integer based on your local time without converting it to UTC first, it will be double-offset for viewers. Always generate Unix timestamps from UTC.

Educational Concepts

Epoch Time (Unix)

The Unix epoch is 00:00:00 UTC on 1 January 1970. A Unix timestamp is simply the number of seconds that have passed since that exact moment. It ignores leap seconds.

UTC (Coordinated Universal Time)

UTC is the primary time standard by which the world regulates clocks. It is not a timezone, but a standard. Discord's engine relies on UTC to calculate offsets.

For deeper conversions across timezone strings, you can use our Unix Timestamp Converter or the ISO 8601 Converter. For raw text payloads, you might use our JSON Formatter to analyze API outputs containing dates.

Discord Timestamp Examples & Best Practices

Learn how to format dates dynamically in your Discord messages using Markdown.

Relative Time

Shows time relative to now (e.g., 'in 2 hours').

<t:1691234560:R>

Long Date & Time

Displays full date and time.

<t:1691234560:F>

Best Practices

Use relative time format (:R) for countdowns and events to avoid timezone confusion.
Always generate timestamps programmatically using UTC time to ensure accuracy for all users.
Do not hardcode text dates in server announcements; rely on Discord's native markdown.

Discord Formatting Guide

Learn all the nuances of Discord timestamp markdown, formatting options, and bot integrations.

Read the Discord Timestamp Guide

Frequently Asked Questions

What is a Discord timestamp?

A Discord timestamp is a dynamic time reference in Discord using the syntax <t:unix_timestamp:format>. It automatically displays the correct local time and date for whoever is viewing the message, based on their device's timezone settings.

How do Discord timestamps work?

Discord timestamps use Unix epoch time and a formatting flag. When a user sends a formatted timestamp in chat, Discord's client parses it and renders the time localized to each individual viewer's timezone.

How do I create a Discord timestamp?

You can create one by getting a Unix timestamp and wrapping it in Discord's format: <t:TIMESTAMP:FORMAT>. Alternatively, use our Discord Timestamp Generator to pick a date and time and instantly copy the correct syntax.

What is the Discord timestamp syntax?

The basic syntax is <t:unix_timestamp:FORMAT>. The formats include 't' for short time, 'T' for long time, 'd' for short date, 'D' for long date, 'f' for short date/time, 'F' for long date/time, and 'R' for relative time.

What does <t:unix:R> mean?

The <t:unix:R> format displays a relative timestamp in Discord, such as 'in 5 minutes', '2 hours ago', or 'tomorrow at 8 PM'. It dynamically updates over time.

How do relative timestamps work in Discord?

Relative timestamps use the 'R' flag and calculate the difference between the current time and the specified Unix timestamp. The Discord client continuously updates the text to show how much time is left or has passed.

Why are Discord timestamps useful?

They are perfect for international communities, scheduling events, coordinating gaming sessions, and bot announcements because they eliminate timezone confusion by automatically adjusting for every user.

Do Discord timestamps adjust for timezone automatically?

Yes, Discord timestamps automatically adjust to match the local timezone of every user viewing the message, making them ideal for global communities.

Can Discord bots use timestamps?

Yes, Discord bots can generate and send these markdown timestamps in messages and embeds. They are widely used for moderation logs, reminder systems, and event scheduling.

What is a Unix timestamp in Discord?

A Unix timestamp is the number of seconds that have elapsed since January 1, 1970 (UTC). Discord uses this standard format as the base value for all its dynamic timestamps.

How do I show both a countdown and the date?

You can combine formats in a message like this: <t:1672531199:F> (<t:1672531199:R>). This will display the full date alongside a live relative countdown.

Why does my timestamp render as text instead of a time?

This usually occurs if you forgot to include a colon, used a millisecond timestamp instead of seconds, or used an invalid formatting letter.

Is the formatting letter case-sensitive?

Yes, formatting letters in Discord are strictly case-sensitive. Using 't' generates a Short Time, while 'T' generates a Long Time with seconds.

Can I use Discord timestamps in webhook embeds?

Yes, webhooks fully support Discord markdown timestamps in both embed descriptions and field values.

What timezone does the Discord timestamp generator use?

Our generator uses your local system timezone when picking dates, but the underlying Unix integer it generates is strictly UTC, ensuring global compatibility.

How do I get the 'Short Time' format?

Append ':t' to your syntax, like <t:1672531199:t>. This will output a time like '16:20'.

Does the countdown update automatically?

Yes, the 'R' relative time countdown updates live within the Discord application without the need for users to refresh.

Can I use these timestamps in Discord mobile apps?

Yes, iOS and Android Discord clients fully support dynamic timestamps and will correctly parse the markdown.

What happens when a countdown reaches zero?

When the exact target Unix second is reached, the relative time format momentarily displays 'now', and then immediately begins counting up (e.g., '1 second ago').

Why do developers use Discord timestamps?

Developers use them to prevent scheduling confusion across global communities. It offloads timezone logic from the bot/sender to the client application.

Why is my timestamp showing 1970?

This usually means you entered a timestamp of 0 or a very small number, or Discord failed to parse it. It's often caused by using milliseconds instead of seconds.

Why are milliseconds not supported?

Discord's API explicitly requires standard Unix timestamps, which are measured in seconds. If you provide a millisecond timestamp, Discord interprets it as thousands of years in the future.

What is the default format?

If you omit the format flag (e.g., <t:1672531199>), Discord defaults to the 'f' format, showing Short Date/Time (e.g., October 14, 2023 16:20).

Do timestamps work inside embeds?

Yes, you can use Discord timestamp syntax inside embed descriptions and field values. They render the exact same way as in normal messages.

Can Discord bots generate timestamps?

Yes, bot developers frequently use these timestamps to ensure event times and moderation logs are automatically translated for every user's local timezone.

Do timestamps work on mobile?

Yes, the official iOS and Android Discord apps fully support dynamic markdown timestamps.

Do timestamps expire?

No, a valid Discord timestamp will never expire. The text will always render correctly based on the integer provided.

Are timestamps cached?

Timestamps are rendered client-side by your Discord app. The raw markdown is saved in Discord's database, but the localized time is calculated locally.

Can timestamps be used in webhooks?

Yes, webhooks fully support markdown timestamps just like bot and user messages.

Can timestamps be edited?

If you edit a message and change the Unix integer or the formatting flag, the timestamp will update instantly for everyone.

How many formats exist?

Discord officially supports 7 formatting flags: t, T, d, D, f, F, and R.

Difference between F and f?

The lowercase 'f' shows the short date and time. The uppercase 'F' shows the long date and time, including the weekday.

Difference between T and t?

Lowercase 't' shows only hours and minutes. Uppercase 'T' includes seconds.

Why use R?

The 'R' format generates a relative timestamp that updates live (e.g., 'in 5 minutes' or '2 hours ago'). This is perfect for countdowns.

Official References

Discord Developer Docs Unix Epoch Time ISO 8601 Standard