Convert Unix timestamps to readable dates and back. See the current timestamp live.
A Unix timestamp is the number of seconds that have passed since January 1st 1970 at 00:00:00 UTC. This moment is called the Unix Epoch. It is a standard way to represent a point in time in computer systems because it is a single number with no timezone or format ambiguity.
Almost every programming language has built-in support for Unix timestamps. In JavaScript you get the current timestamp with Date.now() which returns milliseconds, so divide by 1000 for seconds. In Python you use time.time(). In C# you use DateTimeOffset.UtcNow.ToUnixTimeSeconds().
Some systems store timestamps in seconds and some in milliseconds. A 10 digit timestamp is almost always seconds. A 13 digit timestamp is almost always milliseconds. JavaScript's Date.now() returns milliseconds. Most Unix systems and databases use seconds. This tool handles both automatically.
Unix timestamps are timezone independent. When you store a timestamp as a number it means the same moment in time everywhere in the world. Converting to a local time is done at display time based on the viewer's timezone. This avoids a whole class of bugs caused by storing dates as formatted strings with timezone information baked in.
The Unix Epoch is January 1st 1970 at 00:00:00 UTC. Unix timestamps count seconds from this moment. It was chosen somewhat arbitrarily when Unix was being developed in the early 1970s and has been the standard ever since.
32-bit systems store timestamps as a signed integer which can hold a maximum value of 2,147,483,647. This corresponds to January 19 2038. After that date 32-bit systems will overflow. Most modern systems use 64-bit integers which can store timestamps billions of years into the future.
In JavaScript use Math.floor(Date.now() / 1000). In Python use int(time.time()). In C# use DateTimeOffset.UtcNow.ToUnixTimeSeconds(). In PHP use time(). In Go use time.Now().Unix().
The tool shows results in both UTC and your local timezone so you can see both. Unix timestamps themselves are always UTC - the timezone only matters when displaying the time in a human readable format.