Text Utilities
Timestamp Converter
Convert Unix timestamps to dates and back.
Timestamp → Date
Date → Timestamp
— — — Common Unix timestamps
| Event | Timestamp (s) | Date (UTC) |
|---|---|---|
| Unix epoch | 0 | 1970-01-01 00:00:00 UTC |
| 1 billion seconds | 1000000000 | 2001-09-09 01:46:40 UTC |
| Y2K38 deadline (32-bit signed) | 2147483647 | 2038-01-19 03:14:07 UTC |
| Year 2100 | 4102444800 | 2100-01-01 00:00:00 UTC |
Frequently Asked Questions & Guide
How to use this Timestamp Converter
- Timestamp → Date: paste a Unix timestamp into the input on the left. Choose whether it is in seconds or milliseconds. The equivalent date appears below in four formats: ISO 8601, UTC string, local time, and a relative description ("3 days ago").
- Date → Timestamp: pick a date and time using the picker on the right. The Unix timestamp in seconds, milliseconds, and ISO 8601 format will appear below.
- Click Use current time to load the current Unix timestamp into the left panel.
- Use the copy buttons to copy any value to your clipboard.
This converter uses the browser's native Date object. All timestamps are interpreted in your browser's local timezone unless otherwise noted. The ISO 8601 output includes timezone offset. UTC output is always in UTC. Relative time is computed from the moment you entered the timestamp.
What is a Unix Timestamp?
A Unix timestamp (also called Unix time, POSIX time, or epoch time) is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970 — the "Unix epoch." It is the standard time representation in Unix-like operating systems and is widely used in databases, log files, APIs, and file metadata because it is timezone-independent (always UTC) and easy to compute with.
Most programming languages use Unix timestamps internally. JavaScript's Date.now() returns milliseconds (not seconds) since the epoch — a common source of bugs when interfacing with APIs that expect seconds. This converter handles both units. Just pick "seconds" or "milliseconds" from the dropdown.
What's the Y2K38 problem?
Many older Unix systems store time as a signed 32-bit integer. The maximum value of a signed 32-bit integer is 2,147,483,647 — which corresponds to 03:14:07 UTC on 19 January 2038. At that moment, these systems will overflow and interpret the time as 1901. This is the Y2K38 problem (or "Year 2038 problem"). Modern 64-bit systems are unaffected — a signed 64-bit timestamp won't overflow for 292 billion years.
Why does JavaScript use milliseconds but Unix uses seconds?
JavaScript was designed in 1995 to drive interactive browser effects, where sub-second precision matters. Unix was designed in 1969 for filesystem timestamps and process accounting, where seconds are sufficient. The mismatch is a permanent annoyance: every time you call a backend API from JavaScript, you have to remember to either multiply Date.now() by 1000 or divide it by 1000. This is also why JavaScript timestamps are 13 digits long while Unix timestamps are 10 digits.
What timezone is the timestamp in?
Unix timestamps are inherently UTC — they count seconds since the UTC epoch, with no timezone offset. The "Local time" output in this tool is your browser's local timezone; "UTC" is UTC; "ISO 8601" includes your timezone offset (e.g. +05:30 for India Standard Time).
Is my timestamp sent to a server?
No. Everything happens in your browser using the native Date object. Your input never leaves your device.