Epoch & Unix Timestamp Converter
Convert a Unix timestamp to a human-readable date in any time zone, and back again — seconds, milliseconds or microseconds.
What Unix time is
Unix time counts the seconds elapsed since 1 January 1970 00:00:00 UTC, ignoring leap seconds. Because it is a single number tied to UTC, it is unambiguous everywhere on earth — which is exactly why logs, databases and APIs store it instead of a formatted date.
A date only appears when you render that number in a time zone. The same timestamp is "15 Nov 2023 07:13" in Seoul and "14 Nov 2023 22:13" in London; nothing about the underlying instant changed.
Seconds, milliseconds, or something else
Different platforms count in different units, and mixing them is the most common timestamp bug there is — a value in milliseconds read as seconds lands you in the year 55,000.
- 10 digits — seconds. Unix, PHP time(), Go Unix(), Python time.time() truncated.
- 13 digits — milliseconds. JavaScript Date.now(), Java System.currentTimeMillis().
- 16 digits — microseconds. PostgreSQL internal timestamps, Python time.time_ns() / 1000.
- 19 digits — nanoseconds. Go UnixNano(), many tracing systems.
Leave the unit on auto-detect and the tool infers it from magnitude, or pin it explicitly when you know what you have.
Time zones and daylight saving
Pick any IANA zone and the conversion accounts for daylight saving as it applied on that specific date — not the offset in force today. Converting a June timestamp for New York gives UTC−4; the same zone in December gives UTC−5.
When you type a date without an offset, such as 2024-01-15 09:30, it is read in your own zone by default. Turn on "treat as UTC" if the value came from a log that prints UTC without saying so.
Frequently asked questions
What is the year 2038 problem?
Systems storing Unix time in a signed 32-bit integer overflow on 19 January 2038, wrapping to 1901. Anything using 64-bit timestamps — which includes JavaScript and every modern database — is unaffected.
Why does my timestamp convert to 1970?
It was almost certainly interpreted as seconds when it was in milliseconds, or the value is zero or empty. Set the unit explicitly to confirm.
Does Unix time include leap seconds?
No. Unix time pretends every day has exactly 86,400 seconds, so a leap second is absorbed rather than counted. That keeps the arithmetic simple at the cost of a tiny divergence from atomic time.
Can timestamps be negative?
Yes. A negative value is a date before 1970 — −86400 is 31 December 1969. This converter handles them.
How do I convert many timestamps at once?
Use the batch converter: paste one value per line and copy the results back as tab-separated columns.