Skip to content
TheCalcUniverse

Unix Timestamp Converter — Epoch Time to Human-Readable Date

Convert Unix timestamps to human-readable dates and vice versa. Supports seconds, milliseconds, and various date formats for developers.

✓ Tested formula & cited sources Formula verified 2026-05-17 Runs in your browser — inputs never sent anywhere

See it worked out

Example — Unix Timestamp 1715875200, Date or ISO 8601 String 2026-01-01T00:00:00Z:

Local Date/Time

5/16/2024, 11:00:00 AM

UTC Date/Time

Thu, 16 May 2024 16:00:00 GMT

ISO 8601

2024-05-16T16:00:00.000Z

Milliseconds Since Epoch

1715875200000

The formula

Unix time = seconds elapsed since 1970-01-01T00:00:00 UTC (the Unix epoch)

Unix Epoch
Unix Epoch Reference
Seconds
Unix Timestamp (Seconds)
Milliseconds
Unix Timestamp (Milliseconds)

Worked example — Unix Timestamp 1715875200, Date or ISO 8601 String 2026-01-01T00:00:00Z

Local Date/Time = 5/16/2024, 11:00:00 AM

Full explanation ↓

How Timestamp Converter Works

Unix time = seconds elapsed since 1970-01-01T00:00:00 UTC (the Unix epoch)

Unix time (also known as Epoch time or POSIX time) is a system for describing instants in time as the number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC) on Thursday, January 1, 1970, excluding leap seconds. This simple integer representation makes it easy to store, compare, and transmit timestamps across systems regardless of time zone.

Unix Epoch
Unix Epoch ReferenceThe reference point for Unix time: January 1, 1970 at 00:00:00 UTC. All Unix timestamps count seconds from this moment.
Seconds
Unix Timestamp (Seconds)The number of whole seconds elapsed since the Unix epoch. This is the standard representation used by most systems.
Milliseconds
Unix Timestamp (Milliseconds)The number of milliseconds elapsed since the Unix epoch. JavaScript's Date.getTime() returns this value, which is 1000x the seconds value.
Unix time counts seconds since January 1, 1970 UTC — a single increasing number shared across all time zones

How to Use

  1. Select the conversion direction: Timestamp to Date or Date to Timestamp using the dropdown at the top.
  2. For timestamp to date: enter a Unix timestamp (seconds or milliseconds) and the converter will display the human-readable date in local time, UTC, and ISO 8601 formats.
  3. For date to timestamp: enter a date string in YYYY-MM-DD, ISO 8601, or any format parseable by the JavaScript Date constructor.
  4. View the converted result with time zone details, ISO 8601 representation, and millisecond precision in the results panel below the form.
  5. Use the copy button next to each result to quickly copy the converted value to your clipboard for use in code or configuration.

Quick Reference

Epoch start1970-01-01 00:00:00 UTC
Y2K38 threshold2038-01-19 03:14:07 UTC
Current timestampMath.floor(Date.now() / 1000)
Seconds vs ms check> 1e11 = milliseconds

Common Uses

  • Converting database timestamps to human-readable dates for debugging and analysis.
  • Generating Unix timestamps for API requests and database records in backend services.
  • Comparing time across different systems and time zones using a universal reference point.
  • Working with log files that use epoch-based timestamps for event correlation and timeline analysis.

Understanding the Result

Unix time is a fundamental concept in computing that provides a universal, timezone-independent way to represent moments in time. Invented in the late 1960s by Ken Thompson and Dennis Ritchie at Bell Labs for the Unix operating system, the epoch was chosen as January 1, 1970 for its convenience in that era of computing history. Unlike human-readable date formats that vary by locale and time zone, Unix time is always an integer that increases monotonically (ignoring leap seconds). The system was originally developed by the Unix team and has been adopted universally across programming languages, databases, file systems, and network protocols throughout computing history. One important consideration is the year 2038 problem (Y2K38): when using a signed 32-bit integer, Unix time will overflow on January 19, 2038. Modern systems use 64-bit integers or higher-level abstractions to avoid this issue. JavaScript's Date object uses milliseconds internally, so Date.now() returns milliseconds since epoch rather than seconds. When converting between systems, always verify whether timestamps are expected in seconds or milliseconds — a common source of bugs.

Worked Examples

A developer is debugging a production error log entry that shows timestamp 1715875200. They need to know exactly when the error occurred to correlate it with a deployment.

Mode = Timestamp to Date · Unix Timestamp = 1715875200

May 16, 2024 at 10:00:00 AM (local time) / Thu, 16 May 2024 14:00:00 GMT (UTC)

The timestamp 1715875200 corresponds to 2024-05-16T14:00:00Z UTC. This is in seconds (not milliseconds) because the value is around 1.7 billion. If mistakenly treated as milliseconds, the result would be January 20, 1970 — clearly wrong. Always check magnitude: values around 1.5-2 billion are seconds; values around 1.5-2 trillion are milliseconds.

An API integration requires sending dates as Unix timestamps. The user needs to convert "July 4, 2026 at 12:00:00 UTC" to its Unix timestamp for the API request.

Mode = Date to Timestamp · Date Input = 2026-07-04T12:00:00Z

Unix Timestamp (seconds): 1782753600 / Unix Timestamp (milliseconds): 1782753600000

The ISO 8601 date "2026-07-04T12:00:00Z" converts to Unix timestamp 1782753600 in seconds. The Z suffix explicitly marks UTC time, which is critical for accurate conversion. Without the Z, JavaScript's Date parser may interpret the string as local time, producing a different timestamp — a common pitfall in API integrations.

Frequently Asked Questions

What is the year 2038 problem (Y2K38)?
The year 2038 problem is a time formatting bug where signed 32-bit integers storing Unix time will overflow on January 19, 2038 at 03:14:07 UTC. At this point, the value will wrap to a negative number, representing dates in 1901. Modern systems use 64-bit integers which avoid this problem for billions of years.
Why are there two versions of Unix timestamps (seconds vs milliseconds)?
Unix was originally defined in seconds, and most POSIX systems use seconds. JavaScript uses milliseconds because its Date object needs higher precision for UI timing and animation. When converting between systems, always check which unit is expected — accidentally using milliseconds where seconds are expected will give a date far in the future.
What is the current Unix timestamp right now?
The current Unix timestamp is the number of seconds that have elapsed since the Unix epoch (January 1, 1970 00:00:00 UTC). You can get the current timestamp in JavaScript with Math.floor(Date.now() / 1000), in Python with int(time.time()), or in the command line with date +%s on Linux/macOS. The value increases by exactly 1 per second.
How do I handle Unix timestamps in different programming languages?
JavaScript: new Date(timestamp * 1000) for seconds, new Date(timestamp) for milliseconds. Python: datetime.fromtimestamp(timestamp) for local time. PHP: date("Y-m-d H:i:s", $timestamp). Java: new java.util.Date(timestamp * 1000). Go: time.Unix(timestamp, 0). Always verify whether the library expects seconds or milliseconds — confusing the two produces dates centuries off.
What are leap seconds and how do they affect Unix time?
Leap seconds are occasional one-second adjustments to UTC to keep it synchronized with Earth's rotation. Unix time excludes leap seconds, so most systems handle them by either repeating the same timestamp or applying a step adjustment. As of 2024, 27 leap seconds have been inserted. For most applications this drift is negligible, but for precise astronomical timing, systems like TAI should be used instead.

Pro Tips

  • Always validate the magnitude of a Unix timestamp before conversion. Values in the billions (1.5B-2B) are seconds; values in the trillions (1.5T-2T) are milliseconds. A timestamp of 17000 could be either seconds or milliseconds — context matters.
  • When storing timestamps in databases, use 64-bit integers (BIGINT) rather than 32-bit integers (INT) to avoid the year 2038 problem. Most modern databases support 64-bit integers by default, but legacy schemas may still use INT.
  • For API design, always document whether your timestamps are in seconds or milliseconds. The industry convention for REST APIs is seconds (aligned with POSIX), while JavaScript-heavy services often use milliseconds (aligned with Date.now()).
  • Use ISO 8601 strings (e.g., "2026-07-04T12:00:00Z") when human readability matters in logs or config files. Unix timestamps are more compact for machine-to-machine communication, but ISO 8601 strings are self-documenting and timezone-explicit.
  • When converting user-entered dates, always include a timezone. Without one, the conversion depends on the browser's or server's local timezone. Adding Z (UTC) or a UTC offset eliminates ambiguity.

Limitations to Know

  • The year 2038 problem: if you store Unix timestamps in a signed 32-bit integer, the maximum representable timestamp is 2,147,483,647 (January 19, 2038). Use 64-bit integers (BIGINT) to avoid this limit. When not to use 32-bit integers: any system expected to operate beyond 2038.
  • JavaScript's Date object only supports millisecond precision. If you need microsecond or nanosecond precision, you must use BigInt values or a third-party library. The Date constructor rounds to the nearest millisecond.
  • Unix timestamps do not account for leap seconds. Over time, this creates a growing discrepancy between Unix time and UTC (27 seconds as of 2024). When not to use Unix time: astronomical calculations, satellite navigation, or high-frequency trading systems.
  • Not all dates are representable as Unix timestamps. Dates before January 1, 1970 produce negative timestamps. Dates before 1901 or after 2038 cannot be represented in 32-bit signed integers. When not to use for: historical dates before 1901 or far-future scheduling beyond 2038.
Was this calculator helpful?
Cite this calculator

TheCalcUniverse. "Unix Timestamp Converter — Epoch Time to Human-Readable Date." TheCalcUniverse, 2026, https://thecalcuniverse.com/devtools/unix-timestamp/. Accessed July 24, 2026.

Embed this calculator on your site

Free to embed. Paste this into any HTML page — it stays up to date automatically.

Open embed ↗

You may also like

Guides that use this calculator