Unix Timestamp Converter
A Unix timestamp is a single integer representing the number of seconds elapsed since midnight on 1 January 1970 UTC, an instant known as the Unix epoch. Because it is a simple integer with no time zone ambiguity, the Unix timestamp has become the default way to store and transmit time in programming, databases, log files, and APIs. You will encounter Unix timestamps in everything from HTTP headers and JWT tokens to database records and server logs. Converting a Unix timestamp to a human-readable date, or turning a known date and time back into a Unix timestamp, is a routine developer and sysadmin task. This converter handles both directions. In timestamp-to-date mode, paste any Unix timestamp in seconds and see the equivalent UTC and local date-time strings. In date-to-timestamp mode, pick a date and time and get the corresponding Unix timestamp in seconds. The current Unix timestamp is shown live and updates every second so you always have the current value on hand. All timestamps on this page are in seconds. JavaScript milliseconds timestamps are 1,000 times larger; divide by 1,000 to convert before pasting here.
How Unix timestamps are converted
To convert a Unix timestamp to a date, multiply by 1,000 to get milliseconds, then pass to the JavaScript Date constructor. To convert a date and time to a Unix timestamp, construct a Date object from the date string, get the millisecond value with getTime(), and divide by 1,000 rounding down.
Timestamp to date:
date = new Date(timestamp * 1000)
utcString = date.toUTCString()
localString = date.toLocaleString("en-US")
Date to timestamp:
date = new Date(dateString + "T" + timeString)
unixSeconds = Math.floor(date.getTime() / 1000)
Current timestamp:
current = Math.floor(Date.now() / 1000)
Worked example
Unix timestamp 1749859200 (seconds):
1749859200 × 1000 = 1,749,859,200,000 ms. Date: Sun, 14 Jun 2026 00:00:00 UTC.
Reverse: 14 June 2026 00:00:00 local (UTC-5): Date.getTime() = 1,749,877,200,000 ms. Unix seconds = 1749877200.
Common uses for Unix timestamps
Unix timestamps appear throughout software development. HTTP response headers use them in the Date, Last-Modified, and Expires fields. JSON Web Tokens (JWTs) use the iat (issued at) and exp (expiry) claims as Unix timestamps. Log files typically include a Unix timestamp on every line. Relational databases often store dates as Unix timestamps for efficient comparison and indexing. Distributed systems rely on Unix timestamps to sequence events across multiple servers.
The Year 2038 problem affects systems that store timestamps as 32-bit signed integers. The maximum 32-bit signed integer is 2,147,483,647, which corresponds to 03:14:07 UTC on 19 January 2038. After that moment, such systems overflow. Modern 64-bit systems are not affected.
Unix timestamp converter: frequently asked questions
What is a Unix timestamp?
A Unix timestamp is the number of seconds that have elapsed since the Unix epoch: January 1, 1970 at 00:00:00 UTC. It is a single integer that uniquely identifies any moment in time regardless of time zone. Unix timestamps are widely used in programming, databases, APIs, and log files because they are unambiguous, sortable, and easy to compute with.
What is the Unix epoch?
The Unix epoch is January 1, 1970 at 00:00:00 UTC. It is the reference point from which all Unix timestamps are measured. The choice of this date was largely arbitrary when Unix was being developed in the early 1970s. The epoch is always expressed in UTC, so the same timestamp represents the same instant everywhere in the world regardless of local time zone.
How many digits is a Unix timestamp?
As of 2026, Unix timestamps in seconds are 10 digits long (for example, 1,749,859,200). This will remain true until 20 November 2286, when the timestamp will exceed 10,000,000,000 and become 11 digits. JavaScript's Date.now() returns milliseconds, which produces 13-digit timestamps.
What is the Year 2038 problem?
The Year 2038 problem (also called Y2K38) occurs because many older systems store Unix timestamps as 32-bit signed integers. A 32-bit signed integer can hold a maximum value of 2,147,483,647, which corresponds to 03:14:07 UTC on 19 January 2038. After that moment, a 32-bit overflow would cause timestamps to wrap around to a large negative number, representing a date in 1901. Modern 64-bit systems are not affected because a 64-bit integer can represent dates hundreds of billions of years into the future.
What is the difference between seconds and milliseconds timestamps?
Unix timestamps are traditionally measured in seconds since the epoch. However, JavaScript's Date.now() and Date.getTime() return milliseconds since the epoch (seconds multiplied by 1,000). A seconds timestamp for mid-2026 is approximately 1,750,000,000 (10 digits). The equivalent milliseconds timestamp is approximately 1,750,000,000,000 (13 digits). When using this converter, enter timestamps in seconds. To convert a JavaScript milliseconds timestamp to seconds, divide by 1,000.
Official sources
- The Open Group (POSIX), Epoch definition: pubs.opengroup.org.
Reviewed by the CalculatorHub team, edited by James Graham, 14 June 2026. See our methodology.