How to use the Unix timestamp converter
- The box at the top is the current Unix timestamp from your clock. Press Convert now to load it into the converter.
- Timestamp to date: paste a number. Thousands separators are ignored, negative values (before 1970) and decimals work, and you can force the unit if auto-detect guesses wrong.
- You can also paste an ISO 8601 date such as
2026-10-18T09:30:00Zinto the same box to convert date to epoch. - Date to timestamp: pick a date and time, choose whether it is local time or UTC, and copy the epoch seconds or milliseconds.
Unix epoch time explained
POSIX defines Unix time as “seconds since the Epoch”, where the Epoch is 1970-01-01 00:00:00 UTC (POSIX.1-2017, Base Definitions 4.16). Every day counts as exactly 86,400 seconds, so leap seconds are not included and a Unix timestamp can be turned into a calendar date with plain arithmetic. One consequence: a timestamp has no time zone. The same number is the same instant in Tokyo and New York; only the way it is displayed changes.
Systems that stored Unix time in a signed 32-bit integer run out at 2147483647, which is 2038-01-19 03:14:07 UTC (the “Year 2038 problem”). Modern systems use 64-bit values, and JavaScript dates reach about 273,000 years either side of 1970.
Seconds or milliseconds? Reading a timestamp by its length
Unix time is defined in seconds, but many platforms count smaller units: JavaScript's Date.now() and Java's System.currentTimeMillis() return milliseconds, and some databases and logs use micro- or nanoseconds. For present-day dates the number of digits gives it away:
| Length | Unit | Example (same instant) |
|---|---|---|
| 10 digits | seconds | 1700000000 |
| 13 digits | milliseconds | 1700000000000 |
| 16 digits | microseconds | 1700000000000000 |
| 19 digits | nanoseconds | 1700000000000000000 |
Auto-detect uses magnitude: values below 100 billion are read as seconds (that covers dates up to the year 5138), below 100 trillion as milliseconds, and so on. To convert milliseconds to a date by hand, divide by 1000 first. If a converted date lands in 1970 or tens of thousands of years away, the unit is wrong.
ISO 8601 and time zones
The converter shows ISO 8601 in UTC, for example 2023-11-14T22:13:20.000Z, where the Z means zero offset from UTC. This is the profile described in RFC 3339 and the format JavaScript's toISOString() produces. When you paste a date, include a Z or an offset such as +02:00 to be unambiguous: per the ECMAScript date format, a date-only string is read as UTC but a date-time without an offset is read as your local time.
JavaScript Math.floor(Date.now() / 1000)
Python int(time.time())
Go time.Now().Unix()
PostgreSQL SELECT extract(epoch FROM now());
Shell date +%sJWTs store their exp and iat claims as Unix seconds; the JWT decoder converts them for you. Time-ordered IDs such as UUID v7 also start with a millisecond timestamp, which the UUID generator can extract.