Unix Timestamp Converter
Convert a Unix timestamp to a readable date, or a date to a timestamp. Seconds and milliseconds are detected automatically, with UTC, local time, ISO 8601, and a relative description shown together.
— What is a Unix timestamp, and why do developers use them?
A Unix timestamp counts the seconds elapsed since 00:00:00 UTC on 1 January 1970, a moment known as the Unix epoch. Storing a moment as a single integer avoids every ambiguity that text dates carry: no locale ordering (is 03/04 March or April?), no time-zone guessing, and no daylight-saving edge cases. Comparisons and arithmetic become simple number operations — "three hours later" is just adding 10,800 — which is why databases, APIs, and log files almost always store time this way. The definition comes from the POSIX standard, which also specifies that leap seconds are not counted.
Seconds vs milliseconds
Traditional Unix time is seconds, and a current value is ten digits. JavaScript's Date object and many JSON APIs use milliseconds instead, so the same moment appears as a thirteen-digit number. Some systems mix the two, which is a classic bug: a millisecond value interpreted as seconds lands tens of thousands of years in the future, and a seconds value read as milliseconds lands in January 1970. This converter checks the magnitude and labels both forms, so a mix-up is visible rather than silently wrong.
UTC, local time, and ISO 8601
A timestamp has no time zone — it is an instant that every zone displays
differently. The converter shows the UTC form for unambiguous reference
and your local time for everyday reading, plus the ISO 8601 string
(2026-09-21T12:00:00.000Z) that APIs and most programming
languages accept directly. The Z suffix in ISO 8601 means
UTC; an offset like +02:00 means the same string in that
zone, and both represent the same instant. Dates without any zone marker
are interpreted in the reader's local time, which is the usual cause of
"the date is one day off" surprises.
Working with dates in your own code
In JavaScript, Date.now() returns milliseconds, while
Math.floor(Date.now() / 1000) gives seconds — a convention
most back ends expect. In Python, time.time() returns
seconds and datetime.timestamp() matches it; in SQL, the
function name varies by engine. While debugging payloads that carry a
timestamp, the JWT decoder formats the
exp and iat claims as readable dates, and the
JSON formatter makes large payloads
easier to scan. Everything here runs locally, so tokens and log excerpts
are never uploaded.
Frequently asked questions
What is a Unix timestamp?
A Unix timestamp is a count of seconds since 1 January 1970 at 00:00:00 UTC — the "Unix epoch". It is the standard way programs store moments in time because a single number is immune to time-zone confusion, locale formats, and daylight-saving shifts. When you see a value like 1789948800, that is 21 September 2026 at midnight UTC.
Is my timestamp in seconds or milliseconds?
Count the digits. Ten digits (for example 1789948800) is almost always seconds; thirteen (1789948800000) is milliseconds, which is what JavaScript and many APIs use. This converter detects both automatically — and if the value looks like a millisecond timestamp that is actually seconds, the computed date makes the mistake obvious immediately.
How do I convert a date to a timestamp?
Type a date into the same box — formats like 2026-09-21, 2026-09-21T12:00:00Z, or 09/21/2026 are understood — and the tool shows the equivalent Unix timestamp in seconds and milliseconds alongside the ISO 8601 form. ISO 8601 dates with a Z suffix are treated as UTC; without one, they are read in your local time zone.
Why does my timestamp show a different time than expected?
Almost always a time-zone issue. A Unix timestamp always represents a precise instant in UTC; the same instant displays as a different clock time depending on the zone of the device reading it. This tool shows both the UTC form and your local time side by side, so you can tell whether a value is genuinely off or just being read in another zone.
Why are dates sometimes 13 digits?
Millisecond timestamps are used by JavaScript's Date object, many JSON APIs, and logging systems, while Unix time is traditionally seconds. Some APIs mix them, which is a common source of bugs — a millisecond value read as seconds lands roughly 50,000 years in the future, and a seconds value read as milliseconds lands in 1970. The converter labels each output so the difference is visible.