What is a Unix timestamp?
A Unix timestamp (also called epoch time or POSIX time) is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970, not counting leap seconds. It's the way most databases, log files, APIs and programming languages store a moment in time, because it's a single number with no time zone attached.
Some systems store the same instant in milliseconds (1000 per second) or microseconds (1,000,000 per second) instead. JavaScript, Java and many logging tools use milliseconds; a millisecond timestamp for a date in the 2020s is 13 digits long, where a seconds timestamp is 10.
How do I convert a Unix timestamp to a date?
Paste the number into the 'Convert a timestamp or date' box. The tool works out whether it's in seconds, milliseconds or microseconds from its length, or you can set that explicitly in the settings. It then shows the instant in your local time zone and UTC, as ISO 8601, as an HTTP date, and as a relative time like '3 hours ago'.
To go the other way, use 'Build a timestamp from a date': pick a date and time and it's interpreted in your selected time zone, giving you back the epoch value in seconds and milliseconds.
Which time zone are the results in?
The 'Local time' row and the zoned ISO 8601 row use whichever time zone you pick in the settings, which defaults to your browser's own zone. The UTC rows are always in UTC. Changing the time zone never changes the underlying Unix value, only how it's displayed.
What do the custom format tokens mean?
The custom format section lets you lay the date out however you need, using tokens like YYYY for the year and HH:mm:ss for the time. It follows the same convention as Moment.js and Day.js, so a pattern you use in code will produce the same string here. Wrap any literal words in square brackets so they aren't treated as tokens.
Is my data sent anywhere?
No. Every conversion runs in your browser using the built-in Intl and Date APIs. Nothing you paste is uploaded or logged.
Why does a very old or far-future date look wrong?
Time zone rules, and even calendars, have changed throughout history. For dates before about 1900 the offsets shown are the best estimate the browser can give and may not match historical records. Microsecond timestamps are also rounded to the nearest millisecond here, since that's the precision JavaScript dates support.
What is the year 2038 problem?
Systems that store Unix time in a signed 32-bit integer run out of room at 03:14:07 UTC on 19 January 2038, when the value overflows. Modern 64-bit systems and this tool are not affected, but it's why you'll still see 32-bit limits mentioned in older documentation.
Can I convert a whole column of timestamps at once?
Yes. Paste them into 'Convert a list', one per line, and you'll get a table with the Unix seconds, ISO 8601 and local time for each. 'Copy as CSV' puts the whole table on your clipboard ready to paste into a spreadsheet.