The source timezone defines the instant
“2027-01-15 09:00” needs a location. Select an IANA zone such as Asia/Seoul or America/New_York; the name carries regional offset and daylight-saving rules.
Free · 9 formats · Message IDs · IANA timezones
Use the free Discord time zone converter to turn a date, IANA time zone, or Discord message ID into all nine timestamp formats. Copy one tag or the whole set in one click—each reader sees the time in their own timezone, including the often-missed :s and :S styles.
Event starts
<t:1800000000:F>
(<t:1800000000:R>)
One instantLocalized for every reader
Date → Discord code
Pick a common or full IANA timezone, use a quick future preset, paste an existing <t:…> tag or decimal message ID, or paste up to 500 dates and timestamps in bulk. The generator validates whole Unix seconds and keeps every date and message in this tab.
Loading the Discord timestamp generator…
Enable JavaScript to select a timezone, preview formats, and copy timestamp codes.
500-line workflow
Paste one value per line—Unix seconds, a complete <t:…> tag, 2027-01-15, or 2027-01-15 21:00. Date-only lines use midnight in the selected source timezone, while date-and-time lines honor that timezone and its daylight-saving rules.
The batch view reports the number of valid lines, shows the first errors without hiding the rest of the list, and can copy either the selected style or all nine formats for every valid line. Nothing in the batch is uploaded.
Ready in three steps
A Discord time code represents one instant. The generator first converts the wall-clock time you enter into Unix seconds; Discord then localizes that instant for whoever reads the message.
Enter the date and clock time, then choose the timezone in which that wall clock should be understood. Use Now to start from the current moment. “9:00” in Seoul and “9:00” in New York are different instants, so the source zone is part of the input.
Select one of the nine current style letters. Use F for a complete event date, R for relative wording, or pair both when readers need a calendar anchor and countdown context.
Copy the generated code, such as <t:1800000000:F>, into the message you are composing. Test it in the intended Discord context before publishing an important announcement.
The exact structure
The documented timestamp structure is <t:TIMESTAMP>, with the styled form <t:TIMESTAMP:STYLE>. The first t identifies the timestamp construct. TIMESTAMP is a whole Unix timestamp in seconds. The optional final letter asks Discord to render a particular date, time, or relative form.
If the style is omitted, Discord documents f as the default. Therefore <t:1800000000> and <t:1800000000:f> request the same style. Keeping :f visible can make a template easier to review; omitting it makes the tag slightly shorter.
Style letters are case-sensitive. Lowercase t and uppercase T are different styles, as are d/D, f/F, and s/S. Relative time uses uppercase R.
:F or :R.Complete current reference
Many older references list seven styles. The current Discord API reference also documents compact date-and-time styles s and S, bringing the table to nine. Examples are locale-dependent.
t · Short Time<t:…:t>A time-only mention when the surrounding message already makes the date clear.T · Medium Time<t:…:T>A time including seconds for precise launches or coordinated actions.d · Short Date<t:…:d>Compact date references in lists, tables, and brief status messages.D · Long Date<t:…:D>A written date for deadlines and notices that do not need a time.f · Long Date, Short Time<t:…:f>The documented default: a readable date plus time without the weekday.F · Full Date, Short Time<t:…:F>Event announcements where weekday, full date, and time add context.s · Short Date, Short Time<t:…:s>Compact schedules that need both date and time but not seconds.S · Short Date, Medium Time<t:…:S>Compact schedules that also need seconds.R · Relative Time<t:…:R>Countdown and elapsed-time context such as “in 2 hours.”Compare the nine Discord timestamp format codes and use cases →
Real messages, ready to edit
Every example uses 1800000000—2027-01-15 at 08:00 UTC—so you can see where the tag belongs in a sentence. Discord renders each one in the reader’s timezone and locale.
Launch starts <t:1800000000:F> (<t:1800000000:R>).Gives readers the exact local date and a live countdown.Applications close <t:1800000000:D> (<t:1800000000:R>).Separates the calendar deadline from the remaining time.Release window opens <t:1800000000:s>.Uses the compact style without seconds for a dense schedule.Deploy at <t:1800000000:T>.Keeps the time-only style with seconds for technical teams.Reminder: <t:1800000000>.Uses Discord’s documented default f style.Replace 1800000000 with the seconds produced by the generator. Keep the angle brackets, colon, and style letter exactly as shown; changing their case or punctuation is the most common reason a Discord timestamp does not render.
Countdown without timezone math
The R style expresses an instant relative to the viewer’s current time. A future value might appear as “in 2 hours,” while a past value might appear as “3 days ago.” Discord owns the final wording, so do not assume every locale chooses the same unit or phrase.
Relative output is excellent for urgency but weak as the only permanent record. After enough time passes, “months ago” no longer identifies the exact calendar date. Pair R with F: Event starts <t:1800000000:F> (<t:1800000000:R>). The first tag anchors the schedule; the second makes remaining time easy to grasp.
This creates a Discord countdown timestamp, not an interactive timer widget or embed. Discord recalculates the relative wording whenever the message is viewed. The generator includes event, deadline, release, and maintenance templates using this pair; they are plain message text, so you can edit the surrounding words after copying.
Event starts <t:…:F> (<t:…:R>).Deadline: <t:…:F> — <t:…:R>.Going live <t:…:R> at <t:…:F>.Maintenance begins <t:…:F> (<t:…:R>).Source zone in, viewer zone out
“2027-01-15 09:00” needs a location. Select an IANA zone such as Asia/Seoul or America/New_York; the name carries regional offset and daylight-saving rules.
After conversion, the number represents one instant. The source zone is not embedded in the tag. A different preview zone changes calendar fields, not the moment.
Discord states that timestamps display using the user’s timezone and locale. Tokyo and Los Angeles readers can see different dates or clock times for the same code.
LiveParse uses browser internationalization data. Discord controls final wording, punctuation, field order, and 12/24-hour preference. Test critical notices at their destination.
For an event on January 15, 2027 at 09:00 in New York, enter 2027-01-15 09:00 and select America/New_York as the source timezone. That instant is 14:00 UTC, or Unix seconds 1800021600. Copy <t:1800021600:F> into your Discord message.
A reader whose Discord timezone is Tokyo sees January 15 at 23:00, while a New York reader sees 09:00. Share the same tag with both readers; Discord handles the local display. Keep the IANA zone selected for other dates so seasonal offset changes are included. See the source and viewer timezone rules for daylight-saving details.
The most common mistake
Discord’s reference specifies seconds. JavaScript’s Date.now() returns milliseconds. A current Unix seconds value is commonly about ten digits, while the same instant in milliseconds is commonly about thirteen. Pasting the larger value as seconds can produce an implausibly distant date.
For example, 1800000000 is seconds; 1800000000000 is milliseconds for the same instant. Convert deliberately by dividing whole milliseconds by 1,000 and deciding how to handle a remainder. In JavaScript, Math.floor(milliseconds / 1000) selects the containing Unix second, including the correct direction before the epoch.
The decoder detects values that resemble modern milliseconds, microseconds, or nanoseconds and offers a seconds conversion rather than silently accepting the wrong scale. For broader work, use the Unix Timestamp Converter and timestamp unit guide.
1800000000 — the documented tag unit.1800000000000 — common in JavaScript.1800000000000000 — common in databases and tracing.1800000000000000000 — high-resolution time that must be rescaled.Regional clock rules
A timezone can skip a wall-clock interval when clocks move forward. If a region changes directly from 01:59 to 03:00, then 02:30 does not exist on that date. LiveParse reports the gap rather than silently normalizing it to another time.
When clocks move backward, one wall-clock time can occur twice with different offsets. The generator detects both matching instants and lets you choose the earlier or later occurrence. The typed date looks identical, but the resulting Unix seconds differ.
Use IANA names for regional schedules instead of ambiguous abbreviations or a fixed offset that ignores future rule changes. For an event already defined globally, choose UTC. A timestamp stores one instant, not a recurring local-time rule.
Europe/Berlin.Work in both directions
Paste a tag such as <t:1800000000:S>. The built-in Discord timestamp converter extracts the seconds, keeps the case-sensitive style, converts the instant to the selected source-zone clock, and makes all nine alternatives available. A tag without a style is decoded as default f.
Decoding helps when updating an old event message, reviewing a bot template, or checking a unit mistake. The parser accepts the timestamp structure rather than arbitrary message text. It rejects decimal seconds and undocumented style letters instead of guessing.
This is different from a Discord snowflake ID. Snowflakes encode creation time plus worker, process, and increment bits; paste a decimal message, channel, or user ID into the snowflake decoder below to convert its creation metadata.
<t:1800000000:S>1800000000S — Short Date, Medium TimeChoose the fitting workflow
Use this page for IANA timezone input, DST diagnostics, all nine codes, existing-tag decoding, unit warnings, and ready-made F + R messages.
Discord’s February 4, 2026 patch notes describe a native @time command on Desktop that helps generate a Linux timestamp and clarify the referenced time. It is useful for one-off messages while composing, but it does not replace explicit IANA timezone control, DST diagnostics, bulk output, tag decoding, or all-nine-style comparison. Availability can vary by platform, so test the client where you plan to post.
An inline tag places localized time in ordinary text. A Discord Scheduled Event is a separate event object with event-specific discovery and notification behavior. A community can use one or both.
A bot or webhook can generate tags from a trusted schedule. It must still interpret the source timezone correctly and emit whole Unix seconds. Test automated templates around DST transitions.
Message ID → creation time
Discord calls its 64-bit message, channel, and user identifiers Snowflake IDs. The first 42 bits encode the creation instant, so a decimal ID can reveal when the object was created without account access.
To get a message ID, enable Developer Mode in Discord’s settings, then use the message context menu’s copy-ID action. If your Discord app instead offers Copy Message Link, the final numeric segment of that message link is the message ID. Paste the decimal ID into the decoder.
Paste a decimal ID such as 1199835124667021433 into the decoder. LiveParse shifts the ID right by 22 bits, adds Discord’s epoch of 1420070400000 milliseconds, and shows 2024-01-24 21:56:25.579 UTC. Use Use creation time to load the equivalent whole second, 1706133385, into the timestamp generator.
The result also separates worker, process, and increment fields. This helps when correlating logs, reviewing bot output, or checking whether a supposedly old ID was really created at the stated time. The decoder runs in your browser and accepts only decimal IDs within Discord’s unsigned 64-bit range. Discord’s Snowflakes reference documents the same 42-bit timestamp and epoch used here.
((ID >> 22) + 1420070400000) milliseconds.Fast diagnosis
When a timestamp remains as text, the cause is almost always its exact structure, unit, style case, or the Discord surface receiving the message.
<t:…> text is displayedA bracket, colon, prefix, or closing symbol is missing.Copy the exact shape <t:1800000000:F>, then test it in an ordinary Discord message.r instead of R.Use one of the nine documented, case-sensitive letters and re-copy the generated tag.F with R when both date and countdown matter.Questions answered
Yes. Enter the date and time, choose its source IANA timezone, and LiveParse converts that wall clock to Unix seconds for a Discord timestamp. Each reader's Discord app then renders the same instant in their local timezone.
Yes. Paste up to 500 non-empty lines with Unix seconds, existing tags, dates, or dates and times. The bulk generator returns tags for all nine styles and flags invalid lines.
Use <t:UNIX_SECONDS> for default display or <t:UNIX_SECONDS:STYLE> for an explicit, case-sensitive style.
The current reference says timestamps are expressed in seconds. JavaScript Date.now() returns milliseconds and must be deliberately converted.
The current official table lists nine: t, T, d, D, f, F, s, S, and R. Older guides often omit s and S.
Discord marks f—Long Date, Short Time—as default. Omitting the final style requests that form.
Use uppercase R—for example, <t:1800000000:R>. It is not an interactive timer; Discord recalculates the wording each time the message is shown. Pair it with F when the exact date also matters.
No. Each tag represents one instant. For a weekly event, generate a separate timestamp for each occurrence; a bot can automate that from a schedule.
No. Discord channel names do not process message-formatting tags. Type the date and time as plain text in the channel-name field.
Discord profile bios display plain text and do not render timestamp tags. A pasted <t:…> code appears literally. Use a readable date such as Joined March 2024 instead.
Use the Now button. It loads your browser’s current Unix seconds and creates the selected tag; the Unix now readout updates every second.
The instant is identical, but Discord displays it using each reader’s timezone and locale. Timezones can cross a date boundary, and locales format dates differently.
Check seconds versus milliseconds first. Also confirm the source timezone, whole-number input, and exact case of the style letter.
Yes. Use the built-in Discord timestamp converter: paste the complete tag to extract its seconds and style, view the date, and regenerate every format.
Paste the decimal Snowflake ID into the decoder. LiveParse shifts it right by 22 bits, adds Discord’s epoch, 1420070400000 ms, shows the UTC creation time, and loads its Unix seconds into the generator.
Enable Developer Mode in Discord’s settings, use the message context menu’s copy-ID action, or copy the message link and use its final numeric segment. Paste that decimal ID into the Snowflake decoder.
Yes. Discord’s February 4, 2026 patch notes describe an @time command on Desktop that helps generate a Linux timestamp and clarify the referenced time. Availability can vary by platform, so test the client where you plan to post.
Generating the documented message-formatting text does not require this site to connect to a bot or account. Support can vary by message surface, so test the destination.
Check the angle brackets, t: prefix, whole seconds, exact style letter, and whether a code block or escaping forces literal text. Test in the intended Discord context.
No. LiveParse is an independent developer tool and is not affiliated with or endorsed by Discord.