Unix Timestamp Converter
Convert a Unix timestamp (seconds or milliseconds) to a date and time, or a date and time to a Unix timestamp. UTC and your chosen UTC offset are shown side by side.
What is Unix time?
Unix time (also called epoch time or a Unix timestamp) is the number of seconds that have elapsed since 00:00:00 UTC on January 1, 1970 (the epoch). Programs, databases and logs use it to store a point in time as a single integer.
- Every day is counted as exactly 86,400 seconds, and leap seconds are not counted (the POSIX definition says that each and every day shall be accounted for by exactly 86400 seconds).
- A Unix time in milliseconds (for example, JavaScript's
Date.now()) is 1,000 times the value in seconds. A value in seconds has about 10 digits and a value in milliseconds has about 13. Mixing up the unit moves the date far away, so this tool points out a possible mix-up based on the number of digits.
UTC and the selected offset
A Unix time is the same single value everywhere in the world. When you turn it into a date and time, you choose which offset to show.
- UTC (Coordinated Universal Time, offset +00:00) is always shown. It is the default offset on this page.
- The selected offset is a fixed offset from UTC that you choose.
- This tool does not handle daylight saving time or local rule changes, and it does not use your browser's time zone. For a place that uses daylight saving time, choose the offset in effect at that moment yourself (for example, +01:00 or +02:00).
Before 1970 (negative Unix times)
A date and time before 1970 is expressed as a negative Unix time (−1 = 1969-12-31 23:59:59 UTC). This tool supports negative values.
- Many implementations and languages use negative timestamps for dates before 1970.
- However, the POSIX formula is written for non-negative values from 1970 onward, and how negative values are handled can differ between implementations and systems. This tool extends the same formula (1 day = 86,400 seconds) into the past. Check how any other system treats the same value.
- The supported range is from 1900-01-01 00:00:00 UTC (−2,208,988,800 seconds) to 2100-12-31 23:59:59 UTC (4,133,980,799 seconds).
The year 2038 problem
A system that stores Unix time in a 32-bit signed integer overflows after 2,147,483,647 seconds (2038-01-19 03:14:07 UTC). This tool also shows whether a result fits in a 32-bit signed integer (−2,147,483,648 to 2,147,483,647).
Examples
- 0 = 1970-01-01 00:00:00 UTC (a Thursday)
- 1,000,000,000 = 2001-09-09 01:46:40 UTC
- 1,700,000,000 = 2023-11-14 22:13:20 UTC
- 2,147,483,647 = 2038-01-19 03:14:07 UTC
- −1 = 1969-12-31 23:59:59 UTC
Notes
- The Unix time you enter must be a whole number (seconds: −2,208,988,800 to 4,133,980,799; milliseconds: 1,000 times that). A value outside the range is an error.
- When converting a date and time, seconds are 0 to 59 (the leap second "60" is not supported).
- The "Insert the current time" button fills in the time on your device's clock as a Unix time in seconds. The calculation itself does not use the clock, and nothing is sent or saved.
- To add or subtract days, weeks, months or years, use the Date Calculator.
Source
- The Open Group, POSIX.1-2017 Base Definitions, 4.16 Seconds Since the Epoch (the formula for seconds since the epoch, 86,400 seconds per day, no leap seconds, and negative values left undefined; checked on October 31, 2026).
Frequently asked questions
My Unix time has 13 digits. What should I do?
It is a value in milliseconds. Set the unit of the input to milliseconds. A value of about 10 digits is in seconds.
Does a Unix time change with the time zone?
No. A Unix time is one value that stands for the same moment everywhere. You only choose which offset to show when you turn it into a date and time.
What about leap seconds?
Unix time does not count leap seconds (a day is always 86,400 seconds). This tool calculates with that standard definition and does not handle leap seconds.