Skip to main content

Unix Timestamp Converter (Epoch to Date)

Paste an epoch timestamp from a log line, a JWT or a database row and see it as UTC, your local time and ISO 8601. The unit is detected from the number of digits, so seconds, milliseconds, microseconds and nanoseconds all just work. Or go the other way, from a date to a timestamp.

Free, no signup. Runs entirely in your browser; nothing you enter is sent anywhere.

Current Unix time—(as of page load)

Timestamp → date

Read as seconds

ISO 86012026-01-01T00:00:00.000Z
UTCThu, 01 Jan 2026, 00:00:00 UTC
RFC 2822Thu, 01 Jan 2026 00:00:00 GMT
Milliseconds1767225600000

Date → timestamp

ISO 8601 (add Z or +02:00 for a zone; without one it's your local time), RFC 2822, or "now".

Seconds1798761599
Milliseconds1798761599000
Microseconds1798761599000000
Nanoseconds1798761599000000000
ISO 8601 (UTC)2026-12-31T23:59:59.000Z

How the unit is detected

Current timestamps have 10 digits in seconds, 13 in milliseconds, 16 in microseconds and 19 in nanoseconds. The tool reads anything under 1011 as seconds, under 1014 as milliseconds, under 1017 as microseconds and the rest as nanoseconds. Pick a unit explicitly if you're converting a date far in the past or future.

Where each unit shows up

Seconds: date +%s, JWT exp/iat claims, most Unix tools. Milliseconds: JavaScript Date.now(), Java, Kafka and Elasticsearch. Microseconds: PostgreSQL internals and some tracing systems. Nanoseconds: Go's UnixNano(), Prometheus remote-write, Loki and OpenTelemetry spans. Mixing them up is a common reason logs and traces refuse to line up.

The 2038 problem

Systems that store time as a signed 32-bit integer of seconds overflow at 03:14:07 UTC on 19 January 2038. Modern 64-bit Linux is fine, but embedded devices, old file formats and some database columns are not. The tool warns when a date falls past that point.

Questions people ask

What is a Unix timestamp?

The number of seconds since 00:00:00 UTC on 1 January 1970 (the Unix epoch), ignoring leap seconds. It's the same everywhere in the world, which is why logs and APIs use it instead of local time.

How do I get the current Unix timestamp?

On Linux or macOS run date +%s. In JavaScript use Math.floor(Date.now() / 1000), in Python int(time.time()), and in Go time.Now().Unix(). This page also shows the current value at the top.

How do I convert a timestamp in the shell?

GNU date: date -u -d @1767225600. macOS/BSD: date -u -r 1767225600. For milliseconds, divide by 1000 first.