EpochConvert
Unix Time (seconds)
Unix Time (milliseconds)
UTC Time

Unix Timestamp Converter

Convert epoch timestamps to human-readable dates — or any date to its Unix timestamp. Live clock, 8-language code snippets, batch converter.

Epoch → Human Date
Human Date → Epoch
Code Snippets
Batch Converter

Paste multiple timestamps (one per line). Supports mixed seconds and milliseconds.

What Is a Unix Timestamp?

A Unix timestamp — also known as epoch time, POSIX time, or Unix time — is the number of seconds that have elapsed since the Unix Epoch: January 1, 1970 at 00:00:00 Coordinated Universal Time (UTC). It is a cornerstone concept in computing used to represent points in time in a format that is timezone-agnostic, language-agnostic, and perfectly suited for arithmetic operations.

Why seconds since 1970?

The Unix epoch was chosen by the early Unix developers in the early 1970s as a reference point. While the exact choice was somewhat arbitrary, 1970 was close to when Unix was being developed and provided round numbers for then-current timestamps. The format became a global standard because of Unix's influence on all subsequent operating systems.

Seconds vs. Milliseconds

The original Unix timestamp spec uses seconds, but modern programming languages and APIs often use milliseconds for greater precision. A quick way to tell them apart: a 10-digit number is seconds (e.g., 1718000000); a 13-digit number is milliseconds (e.g., 1718000000000). This converter detects the format automatically.

The Year 2038 Problem

32-bit signed integers can store a maximum value of 2,147,483,647, which corresponds to January 19, 2038 at 03:14:07 UTC. Systems that store Unix timestamps as 32-bit signed integers will overflow on that date, wrapping to a large negative number. Modern 64-bit systems can represent timestamps until approximately the year 292,277,026,596 CE, so this is only a concern for legacy embedded systems and older software not yet updated to 64-bit time storage.

Frequently Asked Questions

  • A Unix timestamp (also called epoch time) is the number of seconds that have elapsed since January 1, 1970 00:00:00 UTC. It is a universal, timezone-agnostic way to represent a moment in time used in virtually all programming languages and operating systems.
  • A 10-digit timestamp is in seconds (e.g., 1718000000 = June 2024). A 13-digit timestamp is in milliseconds (e.g., 1718000000000). This converter auto-detects based on the number of digits and the magnitude of the value.
  • The Unix timestamp for January 1, 2000 00:00:00 UTC is 946684800.
  • On January 19, 2038 at 03:14:07 UTC, 32-bit signed integer Unix timestamps will overflow from the maximum value (2,147,483,647) to a negative number. Modern 64-bit systems are unaffected, but embedded systems and legacy software may require updates.
  • ISO 8601 is an international standard for date and time representation. A typical timestamp looks like 2024-06-10T14:30:00Z (Z means UTC) or 2024-06-10T14:30:00+05:30 (with UTC offset). It is recommended for APIs and data interchange.
  • Use Math.floor(Date.now() / 1000) for seconds, or Date.now() for milliseconds. You can also use new Date().getTime() which returns milliseconds.