⏱️ Epoch Converter with Time Zones

Convert a Unix timestamp to dates across time zones, or a date back to epoch.

-ISO 8601 (UTC)

-

How to Use This Converter

Type an epoch timestamp and choose seconds or milliseconds, or pick a date and time to go the other direction. Every change updates all time zones instantly.

1

Enter a Unix timestamp in the epoch field. If it is 13 digits long, switch the unit toggle to milliseconds.

2

Or fill in the date and time field to convert a calendar date back into epoch seconds, useful when building API queries.

3

Read the time in UTC, New York, London, Karachi, and your own browser time zone, plus the ISO 8601 form and how long ago or how far ahead it is.

4

Press "Use Current Time" any time to reset to right now, for example when you need a fresh timestamp for a log entry.

How Epoch Time Works

epoch seconds = milliseconds / 1000 ISO 8601 = date.toISOString() relative = human difference vs now

Unix time counts seconds since the epoch, 1970-01-01 00:00:00 UTC, ignoring leap seconds. Storing time as a single number avoids every timezone ambiguity: the same instant is the same number everywhere on Earth, and rendering it for a user is just a formatting step. That formatting step is where bugs live. A timestamp stored in seconds but rendered as milliseconds, a server in UTC handing dates to a client that assumes local time, or a date parsed without a timezone are the classic sources of "off by a day" and "off by a few hours" bugs. This tool shows several zones side by side so you can see exactly what instant your number represents.

Worked Example

Epoch 0 is the Unix epoch itself: 1970-01-01T00:00:00Z, shown as Thursday, January 1, 1970 at 12:00:00 AM UTC, and the relative label reads decades ago. Epoch 1767225600 is exactly midnight UTC on January 1, 2026: 2026-01-01T00:00:00Z. In New York that is still December 31, 2025 at 7:00 PM EST (UTC-5 in winter), in London it is midnight GMT, and in Karachi it is 5:00 AM PKT on January 1 (UTC+5 year-round, no daylight saving). That one timestamp demonstrates why the zone matters: the same instant is a different calendar date and clock time in each place.

Practical Guidance

When you accept timestamps from users or APIs, always validate the unit first: a quick sanity check is that seconds for the current era are 10 digits (around 1.7 to 1.8 billion in 2025 and 2026) while milliseconds are 13 digits. When you display times, convert to the viewer's zone at the last moment and label the zone, never store localized strings. When you schedule things, store the epoch and re-render, so daylight saving changes do not silently move meetings. And when you debug, start here: paste the suspicious number into this converter and compare what each zone says against what you expected.

Frequently Asked Questions

What is a Unix timestamp (epoch)?

A Unix timestamp is the number of seconds (or milliseconds) since January 1, 1970 00:00:00 UTC, the Unix epoch. It is how most systems store time internally because it is timezone-free and easy to compare and sort. This tool accepts both seconds (10 digits) and milliseconds (13 digits).

Why does my timestamp show the wrong date?

The most common mistake is mixing seconds and milliseconds: a 13-digit millisecond value interpreted as seconds lands in the year 50,000+, while a 10-digit seconds value read as milliseconds lands in 1970. Switch the unit toggle in this tool and the date will snap into place.

Does this tool handle daylight saving time?

Yes. Each zone is rendered with Intl.DateTimeFormat, which uses your browser's current IANA timezone database. America/New_York automatically shifts between EST and EDT, and Europe/London between GMT and BST, so historical and future dates get the offset that was or will be in effect.

What is the 2038 problem?

On 32-bit systems that store time as a signed 32-bit integer, timestamps overflow on January 19, 2038 at 03:14:07 UTC and wrap to negative values. Modern 64-bit systems and JavaScript (which uses millisecond floats good until the year 275,760) are not affected. Try epoch 2147483647 in this tool to see the moment.

How do I get the current epoch in code?

JavaScript: Math.floor(Date.now() / 1000). Python: int(time.time()). PHP: time(). Go: time.Now().Unix(). SQL (MySQL): UNIX_TIMESTAMP(). All of these give whole seconds; drop the division or conversion for milliseconds where supported.