Unix Timestamp Converter
By using our calculators, you agree to our Terms of Use.
Convert Unix epoch seconds (or milliseconds) to a date/time, or encode a date as Unix time.
Convert
Date & time
2024-07-31 00:00:00
Local time in your browser
- UTC
- 2024-07-31 00:00:00
Related calculators
Unix timestamps
Unix time counts seconds since January 1, 1970 00:00:00 UTC — the "Unix epoch." Developers use it in APIs, databases, and log files because it is timezone-neutral at storage time. Display always requires picking a timezone for humans.
Some systems store milliseconds instead of seconds — 13-digit values are milliseconds; 10-digit values are seconds. This tool auto-detects based on magnitude.
Example: 1722384000 seconds = July 31, 2024 00:00:00 UTC. To convert back, pick a local date and time — the Unix value depends on your timezone offset from UTC.
Unix time deliberately ignores leap seconds, which makes it a count of a fixed 86,400 seconds per day rather than a true elapsed-time count. That is why it stays aligned with civil calendars and why it is not suitable for measuring precise intervals across a leap second — TAI or a monotonic clock is the right tool for that.
Digit count is a reliable way to identify the unit. Ten digits is seconds and lands in the current era; thirteen digits is milliseconds; sixteen digits is microseconds, common in database engines and tracing systems. Treating milliseconds as seconds throws a date roughly 50,000 years into the future, which is usually the giveaway.
The classic bug in this area is off-by-1000. JavaScript's Date.now() returns milliseconds while most Unix command-line tools, Python's time.time() truncation, and many APIs use seconds, so piping one into the other silently produces 1970 or a distant future date. Convert explicitly at every boundary rather than relying on auto-detection.
Storage is timezone-neutral but display never is, and that asymmetry causes most timestamp confusion. The same integer renders as two different dates for a user in Los Angeles and one in Berlin, so always label whether a rendered time is UTC or local civil time — particularly when correlating application logs with a user's report of when something happened.
Two range limits still matter in practice. Signed 32-bit timestamps overflow on January 19, 2038, which remains a live concern in embedded and legacy systems, and negative values represent dates before 1970 — valid in most modern libraries but a frequent source of errors in code that assumes an unsigned integer.
Millisecond timestamps are common in JavaScript (Date.now) while Unix tools often expect seconds — divide or multiply by 1,000 when piping data between systems.
Negative timestamps before 1970 are valid in many systems — confirm your library signedness when debugging legacy log files.
Leap seconds and timezone offsets do not change the underlying integer — always label whether you display UTC or local civil time.
Programming languages may store timestamps as 32-bit or 64-bit integers — watch for year 2038 overflow in legacy 32-bit systems.
Common questions
Seconds or milliseconds?
Values above 1,000,000,000,000 are treated as milliseconds. Smaller values are treated as seconds.
What timezone is used?
Conversion displays in your browser's local timezone. Unix storage is UTC-based; always confirm timezone when debugging production logs.
Are timestamps UTC or local?
Unix timestamps count seconds since 1970-01-01 00:00:00 UTC. Converting to local display requires a timezone — daylight saving shifts can change the clock reading without changing the underlying timestamp.