Convert any Unix timestamp to a readable date and time across every time zone. Supports seconds, milliseconds, microseconds and nanoseconds.
Unix time (also called POSIX time or epoch time) is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970 — the "Unix Epoch". It provides a single, unambiguous integer that represents any moment in time regardless of calendar or local time zone.
Invented alongside the original Unix operating system at Bell Labs in the late 1960s, Unix time has become the universal language of timestamps in software: from database records and API responses to log files and sensor readings, almost every computing system relies on it.
Other timestamp units are simple powers-of-ten multiples of the base second value. Converting to local time shifts the epoch by the UTC offset.
Where Δ_UTC is the offset in hours (e.g. +1 for CET, −5 for EST). DST entries show fixed offsets — actual DST transitions depend on region and year.
Timestamp 0 corresponds to 1970-01-01 00:00:00 UTC. In London (UTC±0 in winter) this is midnight exactly — though clocks showed 1 AM during British Summer Time.
32-bit signed integers overflow at timestamp 2,147,483,647, corresponding to 2038-01-19 03:14:07 UTC. Legacy British systems using 32-bit time fields must be migrated before this date.
In browsers and Node.js, Date.now() returns milliseconds since the epoch. Dividing by 1000 gives the standard Unix timestamp in seconds.
The UK Financial Conduct Authority requires transaction timestamps accurate to 1 microsecond. High-frequency trading systems on the London Stock Exchange use nanosecond-precision Unix timestamps.
Type a Unix timestamp into the input field, or click "Use current time" to load the current epoch second.
Select the unit that matches your timestamp: seconds, milliseconds, microseconds, or nanoseconds.
The reference time box shows your timestamp expressed in all four units simultaneously.
Scroll down through the five timezone groups (UTC, Eastern, Western, Eastern DST, Western DST) to read the local date and time for any abbreviation.
Copy any value by selecting the text in the table cell.
The creators of Unix arbitrarily chose a round date that was recent at the time of development (circa 1969–1971). The exact midnight UTC boundary made arithmetic straightforward.
A 32-bit signed integer can hold values up to 2,147,483,647, which corresponds to 2038-01-19 03:14:07 UTC. This is the "Year 2038 problem". 64-bit systems extend the range to roughly ±292 billion years.
Use new Date(timestamp * 1000) if your value is in seconds, or new Date(timestamp) if it is already in milliseconds. Date.now() returns milliseconds.
No. Unix time treats every day as exactly 86,400 seconds, silently smearing leap seconds. This means UTC and Unix time can diverge by a few seconds over the years.
Use import time; time.time() for a float in seconds, or int(time.time()) for an integer. For datetimes, use datetime.timestamp().
For practical purposes they are the same offset (UTC±00:00). GMT is a historical time zone based on the Prime Meridian at Greenwich; UTC is the modern international standard maintained by atomic clocks.