Convert Unix timestamps to human-readable dates and vice versa. Millisecond support, multiple timezones, live clock.
Unix Timestamp Converter translates between Unix epoch timestamps (seconds or milliseconds since January 1, 1970 00:00:00 UTC) and human-readable dates in any timezone. Enter a timestamp to see the corresponding date and time, or enter a date and time to get the Unix timestamp. It handles 32-bit timestamps (up to January 19, 2038) and 64-bit timestamps for future dates.
The Unix epoch is January 1, 1970, 00:00:00 UTC — the reference point from which Unix timestamps count. Timestamps in seconds are standard in Unix/Linux systems, HTTP headers, and most programming languages. Timestamps in milliseconds (seconds × 1000) are used in JavaScript (Date.now()), Java, and many APIs. The year 2038 problem (Y2K38) affects 32-bit signed integer timestamps, which overflow on January 19, 2038 — most modern systems use 64-bit timestamps and are unaffected.
Unix timestamps are timezone-independent — they always represent the same moment in time regardless of locale. Converting 1721865600 gives 2024-07-25 00:00:00 UTC everywhere in the world, though the local time representation differs. This makes timestamps ideal for storing and comparing times across timezones.
Timestamp 1721865600
Result: 2024-07-25 00:00:00 UTC / 2024-07-24 20:00:00 EDT / 2024-07-25 09:00:00 JST
Date to timestamp: 2026-01-01 00:00:00 UTC
Result: Unix timestamp: 1767225600 / JavaScript: 1767225600000
Current timestamp (example)
Result: Time.now() → 1721899234 seconds since epoch / 1721899234000 milliseconds
What is the Unix epoch?
The Unix epoch is January 1, 1970, 00:00:00 UTC — the reference point for Unix timestamps. All timestamps count seconds (or milliseconds, microseconds, nanoseconds) elapsed from this moment. The choice of 1970 was arbitrary but became the universal standard across operating systems and programming languages.
Why does JavaScript use milliseconds?
JavaScript's Date object uses milliseconds since the epoch. Use Date.now() for milliseconds, or Math.floor(Date.now()/1000) for seconds. Most Unix APIs and HTTP headers (Last-Modified, Expires) use seconds. API documentation always specifies which unit a timestamp field uses.
What is the Y2K38 problem?
32-bit signed integers can represent values up to 2,147,483,647 — which corresponds to January 19, 2038, 03:14:07 UTC. After this moment, 32-bit timestamps overflow to a negative number representing December 13, 1901. Modern systems use 64-bit timestamps (good for 292 billion years) and are unaffected.
Are timestamps affected by timezone?
No. A Unix timestamp represents the same absolute moment in time regardless of timezone. 1721865600 is always 2024-07-25 00:00:00 UTC — the local representation (e.g., 08:00 JST) differs but the underlying timestamp does not change. Always store timestamps in UTC and convert to local time only for display.
What is the difference between ISO 8601 and Unix timestamps?
ISO 8601 (e.g., 2026-07-26T12:00:00Z) is a human-readable text format. Unix timestamps are integers. Timestamps are more compact, faster to compare (integer comparison vs string parsing), and better for arithmetic (add 86400 for one day). ISO 8601 is better for display, logging, and interchange with humans.