CalculatorWala
Blog

Epoch Converter

Free Epoch Converter: convert Unix timestamps to dates and back, in seconds or milliseconds. Live current epoch, timezone comparison, and batch conversion.

Current Unix Timestamp

Timestamp → Human-Readable Date

Enter a timestamp above to see the converted date.

Date → Timestamp

Enter a valid date.

Batch Convert

Paste multiple timestamps (one per line or comma-separated). Seconds and milliseconds are auto-detected.

Unix Epoch, Quick Facts

  • Unix time counts seconds elapsed since the epoch: 1 January 1970, 00:00:00 UTC.
  • It ignores leap seconds, so every day is treated as exactly 86,400 seconds.
  • A 10-digit number is seconds, 13 digits is milliseconds, and 16 digits is microseconds.
  • A classic 32-bit signed timestamp overflows on 19 January 2038, the "Year 2038 problem." Most modern systems now use 64-bit timestamps, which are safe for billions of years.

The Real Problem This Solves

Server logs, API responses, JWT tokens, and databases almost never store dates in plain English, they store a raw number like 1751200000. You can't tell at a glance whether that's in seconds or milliseconds, or what date it actually maps to in your timezone.

Get the unit wrong by a factor of 1,000 and your "date" lands in the 1970s or the year 55,000. This tool auto-scales between units, converts both directions, and shows the result across timezones so you're never guessing.

How Timestamp Conversion Works

A Unix timestamp is simply the number of seconds (or milliseconds, or microseconds) that have passed since 00:00:00 UTC on 1 January 1970. To go from timestamp to date, you add that many seconds to the epoch. To go from date to timestamp, you subtract the epoch from the target moment and count the seconds. Because the epoch itself is defined in UTC, the same timestamp always represents the same instant everywhere on Earth, only its printed local representation changes by timezone.

Example: The timestamp 1735689600 is 1 January 2025, 00:00:00 UTC. In IST (UTC+5:30) that same instant prints as 1 January 2025, 05:30:00. The underlying number never changes, only how you choose to display it.

Timestamp (seconds)UTC DateNote
001 Jan 1970, 00:00:00The Unix epoch itself
100000000009 Sep 2001, 01:46:40The "billennium," a milestone timestamp
173568960001 Jan 2025, 00:00:00Start of 2025 in UTC
214748364719 Jan 2038, 03:14:07Max value for a signed 32-bit timestamp

Frequently Asked Questions

What is a Unix timestamp (epoch time)?

It is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970 (the "Unix epoch"), not counting leap seconds. It is the standard way computers store and compare dates internally because it is just one number, unaffected by timezone or calendar format.

Why do some timestamps have 10 digits and others 13 or 16?

10 digits means the value is in seconds (the classic Unix format), 13 digits means milliseconds (common in JavaScript, since Date.now() returns milliseconds), and 16 digits means microseconds (used by some databases and APIs, like Python and PostgreSQL). This calculator lets you pick the unit or auto-detects it in batch mode.

How do I get the current timestamp in code?

JavaScript: Math.floor(Date.now() / 1000) for seconds, or Date.now() for milliseconds. Python: int(time.time()). PHP: time(). MySQL: UNIX_TIMESTAMP(). Linux shell: date +%s.

How do I convert a timestamp to a date in common languages?

JavaScript: new Date(timestamp * 1000). Python: datetime.fromtimestamp(timestamp). PHP: date("Y-m-d H:i:s", timestamp). MySQL: FROM_UNIXTIME(timestamp). Excel/Sheets: =(A1/86400)+DATE(1970,1,1), then format the cell as a date.

Is Unix time the same as UTC or GMT?

Unix time is always measured against UTC (effectively the same as GMT for this purpose, ignoring leap seconds). The number itself has no timezone, it represents one exact instant everywhere. What changes by timezone is only how that instant gets displayed as a calendar date and clock time.

What is the Year 2038 problem?

Older systems store Unix time as a signed 32-bit integer, which runs out of range at 2,147,483,647 seconds, corresponding to 19 January 2038, 03:14:07 UTC. After that instant, a 32-bit counter overflows and wraps to a negative number, misread as December 1901. Modern 64-bit systems avoid this entirely and are safe for tens of billions of years.

Can a Unix timestamp be negative?

Yes. Negative values represent instants before 1 January 1970. For example, -86400 is 31 December 1969, 00:00:00 UTC. This tool accepts negative input for historical dates.

Does Unix time account for leap seconds?

No. By design, Unix time assumes every day is exactly 86,400 seconds and simply repeats the same timestamp (or skips) during an official leap second, rather than counting it. This keeps timestamp math simple at the cost of being off by a handful of seconds from true astronomical time over the decades.

Need to work out a date difference too?

If you're calculating someone's age or the number of days between two dates rather than a raw timestamp, our Age Calculator handles that directly.

Open Age Calculator
Disclaimer: Conversions use your browser's built-in timezone database and are accurate for standard use. For systems requiring leap-second precision or historical timezone rule changes, verify against your platform's authoritative time library.