Unix timestamp converter

Paste an epoch value and it works out on its own whether you gave it seconds or milliseconds, then shows the date in UTC and in your own timezone.

UTC

Seconds
Milliseconds
ISO 8601 (UTC)
Local time
Day of week
Relative

Landmark timestamps

TimestampUTC dateNote
01 Jan 1970 00:00:00The Unix epoch
1,000,000,0009 Sep 2001 01:46:40One billion seconds
1,234,567,89013 Feb 2009 23:31:30Widely celebrated
1,500,000,00014 Jul 2017 02:40:00
1,700,000,00014 Nov 2023 22:13:20
2,000,000,00018 May 2033 03:33:20
2,147,483,64719 Jan 2038 03:14:07Signed 32-bit overflow

Useful intervals in seconds

IntervalSeconds
One minute60
One hour3,600
One day86,400
One week604,800
30 days2,592,000
365 days31,536,000

Related calculators

One number, counted from 1970

A Unix timestamp is the number of seconds elapsed since 00:00:00 UTC on 1 January 1970, known as the epoch. Because it is a single integer with no timezone, no calendar and no formatting, it is the standard way to store and transmit an instant in time — every conversion to a human-readable date happens at the edges of a system.

date = epoch seconds × 1000, read as UTC milliseconds

Seconds or milliseconds

The convention splits by language. C, Python, PHP, Go and most databases use seconds; JavaScript and Java use milliseconds. Feeding a millisecond value into something expecting seconds throws the date roughly 50,000 years into the future, which is the single most common bug in this area. The converter detects the difference by magnitude — anything at or above 100,000,000,000 has to be milliseconds, since as a seconds value it would be more than five thousand years from now.

The year 2038 problem

Systems that store the timestamp in a signed 32-bit integer run out of room at 2,147,483,647 seconds, which falls on 19 January 2038 at 03:14:07 UTC. The next second wraps to a negative number and reads as December 1901. Most modern systems have moved to 64-bit values, which pushes the limit far beyond the lifetime of the Sun, but embedded and legacy code remains exposed.

Leap seconds are not counted

Unix time deliberately ignores leap seconds: every day contains exactly 86,400 seconds by definition. This keeps the arithmetic simple — you can divide by 86,400 and get a day number — at the cost of drifting slightly from true astronomical time. It also means a timestamp is not quite the count of physical seconds since 1970, a distinction that matters only to timekeeping specialists.

Frequently asked questions

What is a Unix timestamp?
It is the number of seconds since 00:00:00 UTC on 1 January 1970, called the Unix epoch. It stores an instant as a single integer with no timezone attached.
Is my timestamp in seconds or milliseconds?
A 10-digit value is almost certainly seconds and a 13-digit value is milliseconds. This converter detects it by size, treating anything at or above 100,000,000,000 as milliseconds.
How do I convert a Unix timestamp to a date?
Multiply by 1000 to get milliseconds, then interpret that as an offset from 1 January 1970 UTC. In JavaScript that is new Date(seconds * 1000).
What is the year 2038 problem?
Signed 32-bit timestamps overflow at 2,147,483,647 seconds, which is 19 January 2038. Affected systems wrap around to December 1901. 64-bit timestamps avoid it.
Does Unix time include leap seconds?
No. Every day is treated as exactly 86,400 seconds, so leap seconds are skipped. This keeps date arithmetic simple but means it is not a true count of elapsed physical seconds.

How ListCalc calculates · Report an error

Guides & articles