What is a Unix timestamp?
A Unix timestamp is the number of seconds since 00:00:00 UTC on 1 January 1970, the Unix epoch, not counting leap seconds. It's how databases, logs, and APIs store an instant as a single number. This tool converts timestamps in seconds, milliseconds, microseconds, or nanoseconds to and from ISO 8601, RFC 3339, RFC 5322, and HTTP dates, in any time zone, and runs in your browser.
Seconds, milliseconds, microseconds, and nanoseconds
Systems count Unix time in different units. JavaScript's Date.now() and Java's System.currentTimeMillis() return milliseconds, PostgreSQL stores timestamps to the microsecond, and Go's UnixNano() and Python's time.time_ns() return nanoseconds. The same instant, 2023-11-14T22:13:20Z, is 1700000000 seconds, 1700000000000 milliseconds, or 1700000000000000 microseconds.
Auto reads a number by its length: up to 11 digits as seconds, 12 to 14 as milliseconds, 15 to 17 as microseconds, and 18 or more as nanoseconds. It always says which unit it chose and shows the other readings, so a value such as 100000000000 (milliseconds in 1973, or seconds in the year 5138) is never guessed silently. Negative timestamps are before 1970, and seconds can have a fraction.
Unix time doesn't count leap seconds
POSIX defines Unix time so that "each and every day shall be accounted for by exactly 86400 seconds". Leap seconds, such as 2016-12-31T23:59:60Z, have no Unix time of their own, so the tool explains rather than converts them. Because of this, Unix time is the number of seconds since 1970-01-01T00:00:00Z minus the leap seconds added since then.
Time zones and offsets
A Unix timestamp is an instant, the same everywhere. A date or time written with an offset, such as Z or -05:00, is an instant too. One written without an offset, such as 2024-05-20 15:30, is a clock time, and the tool reads it in the time zone you choose (your own by default) and says so. This is stricter than JavaScript's Date.parse, which reads a date alone as UTC but a date and time as local time.
The results show the instant in UTC and in the chosen time zone, with that zone's UTC offset and abbreviation at that instant.
Daylight saving time
When clocks go forward, some local times never happen: in America/New_York, 2:30 AM on 10 March 2024 was skipped. When clocks go back, some happen twice. The tool resolves these the way JavaScript's Temporal API does by default: a skipped time moves forward by the length of the gap (to 3:30 AM EDT), and a repeated time takes the first of the two instants. It says when it has done either.
ISO 8601, RFC 3339, RFC 5322, and HTTP dates
ISO 8601 and its internet profile, RFC 3339, write dates as 2023-11-14T22:13:20Z. The tool shows a fraction of a second only when there is one; JavaScript's toISOString() always writes milliseconds (2023-11-14T22:13:20.000Z). Text in this format sorts chronologically when every value uses the same offset and precision.
Email headers use RFC 5322 (Tue, 14 Nov 2023 22:13:20 +0000), and HTTP headers such as Last-Modified use the IMF-fixdate format of RFC 9110 (Tue, 14 Nov 2023 22:13:20 GMT), which is what JavaScript's toUTCString() writes. The tool reads both, and also the two older HTTP formats, RFC 850 and asctime, which HTTP recipients must still accept.
Dates that aren't guessed
Some dates can't be read reliably, so the tool asks for a clearer form instead of guessing. 01/02/2024 is January 2 in the US and 1 February in most of the world, so dates with slashes or dots are refused; write 2024-01-02 or use the month in words. A two-digit year is refused except in the old HTTP format that defines it. Dates that don't exist, such as 2024-02-30, and weekdays that don't match the date, such as Monday, 14 Nov 2023, are reported. Browsers treat these differently: Chrome turns 2014-02-30 into March 2, while Firefox rejects it.
The Year 2038 problem
A signed 32-bit integer holds Unix time from 1901-12-13T20:45:52Z to 2038-01-19T03:14:07Z (2147483647). Systems that still store time that way overflow after that second. 64-bit Unix time lasts about 292 billion years. The calendar details show whether a timestamp fits in 32 bits.
How to convert a timestamp
- 1Enter a timestamp or date. Paste a Unix time, an ISO 8601, RFC 5322, or HTTP date, or a date with the month in words. Press Now for the current time.
- 2Check how it was read. The tool says which unit or format it read and, for a date without an offset, which time zone. Choose a different unit or time zone if needed.
- 3Copy the format you need. Each format has its own Copy button, and Copy output copies them all.
Examples
Unix seconds to a date
Input
1700000000
Output
2023-11-14T22:13:20Z (Tue, 14 Nov 2023 22:13:20 GMT)
The same instant in milliseconds
Auto reads 13 digits as milliseconds.
Input
1700000000000
Output
2023-11-14T22:13:20Z
The same instant in microseconds
Auto reads 16 digits as microseconds.
Input
1700000000000000
Output
2023-11-14T22:13:20Z
Before 1970
Input
-86400
Output
1969-12-31T00:00:00Z
Date to Unix time
Input
2026-01-01T00:00:00Z
Output
1767225600
A local time (time zone America/New_York)
No offset, so it's read in the chosen time zone.
Input
2024-05-20 15:30
Output
1716233400 (2024-05-20T15:30:00-04:00)
A time that daylight saving skips (America/New_York)
Moved forward by the 60-minute gap.
Input
2024-03-10T02:30
Output
2024-03-10T03:30:00-04:00
An HTTP date
Input
Tue, 14 Nov 2023 22:13:20 GMT
Output
1700000000
A date that doesn't exist
Input
2024-02-30
Output
February 2024 has 29 days, so there's no day 30.
Time formats
The same instant, 1700000000, in each format the tool writes.
| Format | Example |
|---|---|
| Unix time (seconds) | 1700000000 |
| Unix time (milliseconds) | 1700000000000 |
| Unix time (microseconds) | 1700000000000000 |
| Unix time (nanoseconds) | 1700000000000000000 |
| ISO 8601 / RFC 3339 (UTC) | 2023-11-14T22:13:20Z |
| JavaScript toISOString() | 2023-11-14T22:13:20.000Z |
| ISO 8601 with an offset | 2023-11-14T17:13:20-05:00 |
| RFC 5322 (email) | Tue, 14 Nov 2023 22:13:20 +0000 |
| HTTP date (RFC 9110) | Tue, 14 Nov 2023 22:13:20 GMT |
| Unix epoch | 1970-01-01T00:00:00Z (0) |
| Signed 32-bit limit | 2038-01-19T03:14:07Z (2147483647) |
Frequently asked questions
What is the Unix epoch?
The reference point for Unix time: 00:00:00 UTC on 1 January 1970. A Unix timestamp counts the seconds since then, not counting leap seconds, and negative timestamps are before it.
Is a timestamp in seconds, milliseconds, microseconds, or nanoseconds?
It depends on the system. Auto reads a number by its length (up to 11 digits as seconds, 12–14 as milliseconds, 15–17 as microseconds, 18 or more as nanoseconds), says which it chose, and shows the other readings. You can also choose the unit yourself.
Does a Unix timestamp include a time zone?
No. It's an instant, the same everywhere. A time zone only decides how that instant is shown as a local clock time, which is why the tool shows it in UTC and in the time zone you choose.
Which time zone is a date without an offset in?
The one chosen in the tool, your own by default. The tool says so each time, so 2024-05-20 15:30 is read as 3:30 PM in that time zone. Add Z or an offset such as -05:00 to give an exact instant.
Why doesn't 23:59:60 convert?
It's a leap second, and Unix time doesn't count leap seconds: POSIX defines every day as exactly 86,400 seconds, so a leap second has no timestamp of its own.
What is the difference between ISO 8601 and RFC 3339?
RFC 3339 is a profile of ISO 8601 for internet protocols: a full date and time with an offset, such as 2023-11-14T22:13:20Z. ISO 8601 also allows reduced forms, such as a year or a date alone, which the tool reads too.
Why is 01/02/2024 refused?
It's January 2 in the US and 1 February in most of the world, so the tool can't know which you mean. Write 2024-01-02, or put the month in words.
How do I get the current timestamp?
Press Now. It fills in the current Unix time in seconds, and the clock above shows it updating every second.
Is my input sent anywhere?
No. Conversion runs in your browser. The only exception is the Share link button: when you click it, it uploads your input, the unit, and the time zone so the link can reopen them, so don't share anything private.
Is it free?
Yes — free with no sign-up.