100% on-device · nothing uploaded

Unix timestamp converter

Paste a Unix timestamp and read it as a date in your own time zone, in UTC and as ISO 8601 — or pick a date and get the epoch back. It tells seconds from milliseconds on its own, and it all runs on your device.

How to use it

  1. Paste an epoch in the first box — seconds or milliseconds, detected automatically — or hit Now.
  2. See it in your local time, UTC, ISO 8601, and how long ago or ahead it is.
  3. Going the other way, pick a date and time in the second box to read its Unix seconds and milliseconds.

The 2038 problem, and the unit error that happens far more often

Unix time counts seconds since 1970-01-01T00:00:00Z. Held in a signed 32-bit integer it overflows on 19 January 2038 at 03:14:07 UTC and wraps to December 1901. What remains exposed is not desktops, where 64-bit time_t has been standard for years, but embedded firmware, older binary formats, and database columns pinned at 32 bits. Failures arrive early wherever software calculates decades ahead, which is why mortgage systems met it first.

The unit is the trap that bites weekly. Unix time is seconds; Date.now(), Java’s currentTimeMillis and most JSON APIs return milliseconds. Hand seconds to something expecting milliseconds and 1753000000 resolves to 21 January 1970; reverse it and you land tens of thousands of years out. JWT exp and iat are seconds by specification. Magnitude is the tell: ten digits in seconds, thirteen in milliseconds.

An offset is not a time zone

+02:00 is an offset: a fixed distance from UTC at one instant. Europe/Kyiv is a time zone — a rule set describing which offset applies when, including every daylight-saving transition a government has legislated. The difference matters for future dates. Store a meeting as 2027-03-28T10:00+02:00 and a later rule change leaves it pointing at the wrong local hour, because a political decision changed what ten in the morning in Kyiv means in UTC.

ISO 8601 carries only an offset, which is why iCalendar transmits a TZID alongside. A value ending in Z is UTC and unambiguous, the right thing to log; a bare 2026-07-20T10:00:00 is not a moment at all, and parsers disagree: some assume UTC, some local. Unix time avoids zones by counting from one fixed instant, but ignores leap seconds: POSIX defines every day as exactly 86,400, so the 27 inserted since 1972 are absent.

Questions

Seconds or milliseconds — how does it know?

A value of 1,000,000,000,000 or more is read as milliseconds; anything smaller as seconds. That threshold is the year 33658 in seconds, so real timestamps are never mistaken.

What time zone is used?

Your browser’s. The local line uses your device zone; the UTC and ISO lines are zone-independent, so they are safe to share.

What is ISO 8601?

The 2026-07-16T12:00:00.000Z format — a machine-readable, unambiguous, always-UTC way to write a moment, used by most APIs and databases.

Is anything uploaded?

No. The conversion is done in your browser with the built-in date functions; nothing is sent anywhere.

Updated 2026-07-20. Runs fully in your browser — nothing is uploaded.