Utility

Unix Timestamp Converter

Convert Unix epoch time to a readable date and back

What Is Unix Time (Epoch Time)?

Unix time — also called Epoch time, POSIX time, or Unix timestamp — is the number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC) on Thursday, 1 January 1970. That reference moment is called the Unix epoch.

Because it is a single integer with no time zone embedded, Unix time is the universal lingua franca of computer systems for recording when something happened. Databases store event timestamps in it, JWT tokens encode expiry in it, HTTP headers use it, log files reference it — everywhere you need a definitive, timezone-neutral record of time, you find Unix timestamps.

How to Read a Unix Timestamp

A current Unix timestamp in seconds is a 10-digit number (e.g., 1705312800). In milliseconds — the format used by JavaScript's Date.now() — it is 13 digits (1705312800000). This converter automatically detects the difference.

Useful reference points:

  • 0 — 1 January 1970 00:00:00 UTC (the Unix epoch)
  • 1000000000 — 9 September 2001 01:46:40 UTC (the "Unix Billennium")
  • 1234567890 — 13 February 2009 23:31:30 UTC
  • 2000000000 — 18 May 2033 03:33:20 UTC
  • 2147483647 — 19 January 2038 03:14:07 UTC (32-bit overflow limit)

Converting Dates to Unix Time

To go the other direction — a human-readable date to a Unix timestamp — simply enter a date string in the input above. You can type any standard format the browser understands, such as:

  • 2024-01-15
  • 2024-01-15T10:30:00Z
  • January 15, 2024 10:30 AM
  • Mon Jan 15 2024

The converter will parse it and return the equivalent Unix timestamp in both seconds and milliseconds.

Unix Time and the Year 2038 Problem

On systems that represent Unix time as a signed 32-bit integer, the maximum value is 2,147,483,647 — which corresponds to 03:14:07 UTC on 19 January 2038. One second later, the integer overflows to −2,147,483,648 (9 December 1901), potentially crashing any software that does not handle the rollover.

Most modern operating systems and programming languages have migrated to 64-bit time representations, which can safely represent dates billions of years in the future. However, embedded systems, legacy databases, and some 32-bit platforms still have exposure to this bug.

ISO 8601 vs Unix Timestamp vs UTC String

There are several common ways to represent a point in time. Here is how they compare:

  • Unix timestamp: 1705312800 — compact, timezone-neutral integer; ideal for computation and storage.
  • ISO 8601: 2024-01-15T10:00:00.000Z — standardised, human-readable, includes timezone offset; used in JSON APIs and data exchange.
  • RFC 2822 / UTC string: Mon, 15 Jan 2024 10:00:00 GMT — used in HTTP headers (Last-Modified, Date, Expires) and email headers.
  • Locale string: 1/15/2024, 10:00:00 AM — formatted for the user's region; not suitable for storage or transfer.

Frequently Asked Questions

What is a Unix timestamp?
A Unix timestamp (also called Epoch time) is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970 — a point in time known as the Unix epoch. It is a single integer that uniquely identifies any moment in time, without reference to a time zone, making it the universal standard for representing time in databases, APIs, and programming.
What is the difference between Unix time in seconds and milliseconds?
Unix time is traditionally expressed in seconds. Many modern languages and APIs — notably JavaScript's Date.now() — return milliseconds instead (1000× larger). A Unix timestamp in seconds is typically 10 digits (e.g., 1705312800); in milliseconds it is 13 digits (e.g., 1705312800000). This converter auto-detects which one you pasted.
What will happen at Unix timestamp 2147483647?
Timestamp 2147483647 corresponds to 03:14:07 UTC on 19 January 2038 — the "Year 2038 problem" (Y2K38). On systems that store Unix time as a signed 32-bit integer, the counter will overflow and wrap to a large negative number, potentially causing software failures. Modern 64-bit systems are not affected.
How do I get the current Unix timestamp in different languages?
JavaScript: Math.floor(Date.now() / 1000) • Python: import time; int(time.time()) • PHP: time() • Ruby: Time.now.to_i • Go: time.Now().Unix() • SQL (PostgreSQL): EXTRACT(EPOCH FROM NOW()) • SQL (MySQL): UNIX_TIMESTAMP()
How do I convert a Unix timestamp in Excel?
Excel stores dates as the number of days since 1 January 1900. To convert a Unix timestamp in cell A1: =(A1/86400)+DATE(1970,1,1) then format the cell as a date. For millisecond timestamps: =(A1/86400000)+DATE(1970,1,1).
Is Unix time the same in every time zone?
Yes. Unix time is always measured from the UTC epoch regardless of the local time zone. The timestamp itself has no time zone — it represents an absolute moment. When you display it as a human-readable date, you choose a time zone for that presentation. Two systems in different time zones will report the same Unix timestamp for the same moment.