Time & dates
Unix timestamp converter
Convert a Unix timestamp to a readable UTC and local date and time, or turn a date back into an epoch timestamp.
A Unix timestamp counts whole seconds since 1 January 1970 UTC. If your value has 13 digits it is in milliseconds, so divide by 1000 first.
How Unix time converts to a date
A Unix timestamp is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970, known as the epoch. To turn it into a date, the calculator divides by 86,400 (the seconds in a day) to find the day, then uses the remainder for the hours, minutes and seconds, all measured in UTC. For example, 1,700,000,000 seconds is 14 November 2023 at 22:13:20 UTC. Converting the other way, it counts the whole seconds from the epoch up to the date and time you enter. Leap seconds are ignored, which matches how almost every operating system and database stores the value.
The result is shown in UTC and in your browser's local time, which can fall on a different calendar day if you are many hours ahead of or behind Greenwich. The ISO 8601 line (for example 2023-11-14T22:13:20Z) is the unambiguous written form, with the trailing Z meaning Zulu, or UTC.
| Timestamp (seconds) | UTC date and time | Note |
|---|---|---|
| 0 | 1970-01-01 00:00:00 | The epoch |
| 1000000000 | 2001-09-09 01:46:40 | One billion seconds |
| 1700000000 | 2023-11-14 22:13:20 | Example value |
| 2147483647 | 2038-01-19 03:14:07 | 32-bit signed limit |
Seconds, milliseconds and the 2038 problem
The most common mistake is mixing up seconds and milliseconds. Most back-end systems store seconds, but JavaScript's Date.now() and many logs use milliseconds, which are 1,000 times larger and have 13 digits rather than 10 for dates around now. If a converted date lands in the far future, you have probably pasted a millisecond value into a seconds field. Systems that store the timestamp in a signed 32-bit integer run out of room at 03:14:07 UTC on 19 January 2038, the point shown in the table; this is the Year 2038 problem, and modern systems avoid it by using a 64-bit integer, which pushes the limit roughly 292 billion years away.
Frequently asked questions
Is a Unix timestamp in seconds or milliseconds?
By convention it is whole seconds since 1970. Milliseconds are used by JavaScript and some APIs and are 1,000 times larger, so a current value has 13 digits instead of 10. Divide by 1,000 to get seconds.
What time zone does a Unix timestamp use?
None in itself; it marks a single instant in UTC. The same timestamp shows as different clock times around the world, which is why this tool displays both UTC and your local time.
What is the Year 2038 problem?
Timestamps stored as signed 32-bit integers overflow at 2,147,483,647 seconds, which is 19 January 2038. After that they wrap to a negative number. A 64-bit integer removes the limit for any practical purpose.