TimestampUnix

reference

Unix Timestamp

A Unix timestamp is the number of seconds since 00:00:00 UTC on January 1, 1970 — the Unix epoch. One integer, one absolute instant, no timezones, no calendars, no ambiguity. This page explains how it works and gives you the tools to convert in both directions.

Current Unix time

Live — loading…

Seconds

—

Milliseconds

—

Microseconds

—

Nanoseconds

—

Interpret input as

Accepts Unix timestamps (s / ms / µs / ns), ISO 8601, RFC 2822 and common date strings.

How Unix time works

Unix time counts forward from the epoch at a constant rate: 60 seconds a minute, 86,400 seconds a day, 31,536,000 seconds in a non-leap year. Instants before 1970 are negative numbers. Leap seconds are not counted — every day is exactly 86,400 seconds — which makes timestamp arithmetic trivial:

tomorrow  = now + 86400
last week = now - 7 * 86400

Because the epoch is defined in UTC, a timestamp is inherently a UTC-based quantity. It does not "have" a timezone; converting it to local time is a display concern handled by the IANA timezone database.

Timestamp formats at a glance

PrecisionFormulaDigits nowTypical source
Secondst10C, Python, PHP, Go, REST APIs
Millisecondst × 1,00013JavaScript, Java, SQLite
Microsecondst × 1,000,00016PostgreSQL, OpenTelemetry
Nanosecondst × 1,000,000,00019Go UnixNano, kernel logs

Beyond seconds, 64-bit floating-point numbers lose integer precision above 253 — nanosecond timestamps exceed that. This site converts withBigInt throughout, so 19-digit values are exact.

The 2038 problem

Stored in a signed 32-bit integer, a Unix timestamp overflows at03:14:07 UTC on January 19, 2038 (value 2147483647). One second later it wraps to −2147483648, appearing as December 13, 1901. Embedded systems, old file formats and legacy databases with 32-bit time_t are the remaining risk; mainstream operating systems, languages and databases moved to 64-bit time years ago. A signed 64-bit timestamp lasts roughly 292 billion years — comfortably longer than the universe has existed.

Unix timestamp vs human-readable formats

Textual formats — ISO 8601 (2025-09-16T05:20:00Z), RFC 3339, RFC 2822 — are for humans and logs; timestamps are for machines and math. A good rule of thumb:store timestamps (or UTC instants), render local time at the edges. Never store a local wall-clock reading without its zone; you lose the ability to reconstruct the instant across DST changes.

Frequently asked questions

What is a Unix timestamp?
An integer counting the seconds elapsed since the Unix epoch — 1970-01-01 00:00:00 UTC — ignoring leap seconds. It identifies an absolute instant with a single number, which is why it is the standard time format in APIs, databases and log files.
How long is a Unix timestamp?
Today, 10 digits in seconds. It became 10 digits on 2001-09-09 (timestamp 1000000000) and will roll to 11 digits on 2286-11-20. Millisecond timestamps are 13 digits, microseconds 16, nanoseconds 19.
Does a Unix timestamp include timezone information?
No. It counts seconds from an absolute reference instant defined in UTC, so it is the same number everywhere on Earth. Timezones only enter the picture when rendering the timestamp as a local calendar date and time.
Are leap seconds counted?
No. POSIX time formally ignores the 27 leap seconds inserted since 1972 — every day is treated as exactly 86,400 seconds. This keeps arithmetic simple (one day is always +86400) at the cost of sub-second drift from true UT1, which only matters for astronomy-grade applications.
What is the maximum Unix timestamp?
For a signed 32-bit integer: 2147483647 (2038-01-19 03:14:07 UTC). For a signed 64-bit integer: 9223372036854775807 seconds — roughly the year 292 billion. Modern systems use 64-bit timestamps, so there is no practical limit.

Related tools