The everyday reference for developers debugging APIs, logs, and databases. Convert epoch time to a readable date, build a timestamp from a date picker, auto-detect seconds vs milliseconds, and see exactly how far any moment is from now.
Try:
Live Clock
—
—
Timestamp → Date
Paste any timestamp — seconds or ms, past or future.
Date → Timestamp
Pick a date and time to get its Unix timestamp.
Timestamp Arithmetic
Add or subtract a duration from any timestamp. Useful for token expiry, cache TTL, cron windows, and date-range queries.
Enter a start timestamp and a duration to calculate the result.
How to use
The Live Clock shows the current Unix timestamp ticking in real time — click copy s or copy ms to grab it to your clipboard.
Paste any timestamp into Timestamp → Date. The tool auto-detects seconds (10 digits) vs milliseconds (13 digits) and shows UTC, local time, relative time, and ISO 8601.
Use Date → Timestamp to build a timestamp from a date/time picker — useful when constructing API requests or database queries with specific time windows.
Use Timestamp Arithmetic to add or subtract any duration (minutes to months) from a starting timestamp. Click Use Now to start from the current moment.
Frequently Asked Questions
What is a Unix timestamp?
A Unix timestamp (also called epoch time) is the number of seconds elapsed since January 1, 1970 at 00:00:00 UTC — a single integer that uniquely identifies any moment in time. It is the universal currency of time across operating systems, databases, and APIs because it requires no timezone or locale to interpret.
Seconds vs milliseconds — how do I tell the difference?
Count the digits. A current timestamp in seconds is 10 digits (e.g. 1716000000). In milliseconds it is 13 digits (e.g. 1716000000000). JavaScript's Date.now() returns milliseconds; most Unix APIs, Python's time.time(), PHP's time(), and Go's time.Now().Unix() all return seconds. This converter auto-detects which unit you pasted.
How do I get the current Unix timestamp in code?
JavaScript: Math.floor(Date.now()/1000) (seconds) or Date.now() (ms)
Python: import time; int(time.time())
PHP: time()
Go: time.Now().Unix()
Bash: date +%s
SQL: UNIX_TIMESTAMP() (MySQL) · EXTRACT(EPOCH FROM NOW()) (PostgreSQL)
What is the Year 2038 problem?
On 32-bit systems, a signed 32-bit integer maxes out at 2,147,483,647 — which is January 19, 2038 at 03:14:07 UTC. After that moment, the counter wraps around to a large negative number, causing software to interpret dates as 1901. Modern 64-bit systems store timestamps as 64-bit integers and will not overflow for hundreds of billions of years. You can preview the overflow timestamp using the preset above.
What does a negative Unix timestamp mean?
Negative timestamps represent dates before January 1, 1970 UTC. For example, -86400 is December 31, 1969. Most modern languages and databases handle negative timestamps correctly, though some legacy software may not. Paste a negative number into the converter above to see its date.
How do I add days to a Unix timestamp?
Multiply the number of days by 86,400 (the number of seconds in one day) and add it to the timestamp. For hours, multiply by 3,600; for minutes, by 60. The Timestamp Arithmetic tool above handles all of this automatically — just enter a start timestamp and choose a duration.
Why do different languages use different timestamp units?
Unix and POSIX standards defined timestamps in seconds, which was sufficient for most server-side work. JavaScript chose milliseconds for browser APIs to support smoother animations and finer event timing. Some databases (MongoDB, Redis) also use milliseconds internally. Always verify the unit expected by the system you're calling — and use this converter to confirm what a given timestamp represents.
Did you know?
The Unix epoch — January 1, 1970 — was chosen somewhat arbitrarily by early Unix developers at Bell Labs. Other systems have different epochs: Windows FILETIME starts January 1, 1601; Mac's Core Data uses January 1, 2001; GPS time counts from January 6, 1980.
The timestamp 1,234,567,890 (February 13, 2009 at 23:31:30 UTC) was celebrated as "Unix Billennium." Developers around the world threw countdown parties to watch the counter tick over.
There are exactly 86,400 seconds in a day — except on days with a leap second, when there are 86,401. The IERS adds them irregularly to keep UTC aligned with Earth's gradually slowing rotation. This means no day is truly exactly 86,400 seconds long.
JavaScript's Date can safely represent any timestamp whose absolute value fits in a 53-bit integer — covering dates from roughly 271,821 BCE to 275,760 CE.