Skip to main content
PulsarKit

Timestamp converter

Convert a Unix timestamp to a readable date and back, in seconds or milliseconds, with any IANA time zone.

How to convert a Unix timestamp

  1. 1

    Paste a timestamp or pick a date

    Switch between converting a timestamp to a date, or a date and time back to a timestamp. Seconds and milliseconds are both supported.

  2. 2

    Choose the time zone

    Pick any IANA time zone, or leave it on the one your browser already reports. The daylight-saving offset for that exact date is applied automatically.

  3. 3

    Read the converted result

    See the result in ISO 8601, RFC 2822 and a locale-formatted string at once, plus a relative time like "3 days ago".

Seconds vs. milliseconds

Unix time counts elapsed seconds since 1 January 1970, 00:00:00 UTC. Many systems, JavaScript's own Date object included, instead track milliseconds since that same moment, which is one thousand times larger for the same instant. Mixing the two up is the most common timestamp bug: a millisecond value read as seconds lands in the year 1970, and a seconds value read as milliseconds barely moves off the epoch. This tool always shows both units side by side so the mistake is obvious at a glance.

Wall time, time zones and daylight saving

A date and time typed into a form, like "2026-09-01 12:00", has no time zone attached to it. It is only meaningful once you say which time zone that wall clock belongs to. Converting it to a timestamp means working out the UTC offset in effect on that exact date, which changes across the daylight-saving boundary. This tool re-derives that offset from the actual date rather than assuming a fixed number, so a July date in New York converts using EDT (UTC−4) while a January date correctly uses EST (UTC−5).

Nothing is ever sent to a server

The whole conversion, from parsing the timestamp and working out the time zone offset to formatting the result, runs in your browser using the built-in Intl API. No timestamp, date or time zone choice you enter here ever leaves the tab.

Frequently asked questions

What is the difference between seconds and milliseconds in Unix time?

Both count elapsed time since 1 January 1970 UTC, but seconds-based timestamps are a thousand times smaller than millisecond-based ones for the same moment. Pick the unit that matches where the number came from: most databases and APIs use seconds, while JavaScript's Date.now() returns milliseconds.

Why does JavaScript's date range end in the year 275760?

The ECMA-262 specification limits Date objects to plus or minus 8,640,000,000,000 milliseconds from the epoch, which works out to roughly 273,790 years in each direction. It is a fixed engineering limit of the language, not a bug or an arbitrary choice by this tool.

How is wall-clock time converted to UTC across a daylight-saving change?

This tool takes a first guess at the UTC instant, checks what the wall-clock time would actually be in the target zone at that instant, and corrects for the difference, repeating once more so the result is accurate even right at a spring-forward or fall-back boundary.

Does my timestamp get sent to a server?

No. Every calculation happens locally in your browser using the Intl API that is already built into it. There is no network request involved in converting a timestamp or a date.

What does the relative time, like "3 days ago", mean?

It expresses the difference between the converted moment and right now in the largest sensible unit (seconds, minutes, hours, days, months or years), using the same phrasing your operating system uses for notifications and file timestamps.

Which time zone is selected by default?

The one your browser already reports for your system, detected through Intl.DateTimeFormat. You can switch to any IANA time zone, including plain UTC, from the drop-down.

Why do ISO 8601 and RFC 2822 show a different offset?

They represent the same instant with different formatting rules. ISO 8601 in UTC uses a trailing "Z" for zero offset, while RFC 2822 always spells out a numeric offset like "+0000". Once you pick a non-UTC zone both formats show the same numeric offset, just written differently.

Related tools