Unix Timestamp Converter
Convert a Unix timestamp to a date and a date back to a Unix timestamp, with the unit set to seconds and 1735689600 already in the box, so the answer is on screen before you type anything. The tool page reads whichever unit your number looks like; this page has been told it is seconds, so check the unit your source actually uses. The table underneath gives the timestamp at the start of every year from 2020 to 2035.
- Convert a timestamp or date
- Unit
- Zone
The Unix timestamp at the start of each year
Midnight UTC on 1 January, in seconds and in milliseconds. Every row is the converter's own reading of that date in UTC (type 2025-01-01 with Zone set to UTC, or 2025-01-01T00:00Z), with explicit UTC used for every row. A year is 31,536,000 seconds, or 31,622,400 when a 29 February falls in it.
| Start of year (UTC) | Unix seconds | Milliseconds |
|---|---|---|
| 1 January 2020 | 1577836800 | 1577836800000 |
| 1 January 2021 | 1609459200 | 1609459200000 |
| 1 January 2022 | 1640995200 | 1640995200000 |
| 1 January 2023 | 1672531200 | 1672531200000 |
| 1 January 2024 | 1704067200 | 1704067200000 |
| 1 January 2025 | 1735689600 | 1735689600000 |
| 1 January 2026 | 1767225600 | 1767225600000 |
| 1 January 2027 | 1798761600 | 1798761600000 |
| 1 January 2028 | 1830297600 | 1830297600000 |
| 1 January 2029 | 1861920000 | 1861920000000 |
| 1 January 2030 | 1893456000 | 1893456000000 |
| 1 January 2031 | 1924992000 | 1924992000000 |
| 1 January 2032 | 1956528000 | 1956528000000 |
| 1 January 2033 | 1988150400 | 1988150400000 |
| 1 January 2034 | 2019686400 | 2019686400000 |
| 1 January 2035 | 2051222400 | 2051222400000 |
Common questions
- What is a Unix timestamp?
- The number of seconds since midnight UTC on 1 January 1970, counted without leap seconds. It names an instant and carries no time zone, which is why 1735689600 is the start of 2025 in London and the evening of 31 December 2024 in New York: one number, two clock readings.
- How do I convert a date to a Unix timestamp?
- Type the date into the box instead of a number. 2025-01-01, 1 Jan 2025 14:30 and 2025-01-01T00:00:00Z are all read, and the Seconds row of the answer is the timestamp. A written date carries its own scale, so the unit control above is left out of it, and the line under the answer says the input was read as a date. A date that names no zone, like the first two, is read in the zone chosen under Zone, so set Zone to UTC for midnight UTC; the third names UTC itself.
- Is my number in seconds or milliseconds?
- The Unit control settles the unit explicitly. Automatic detection on the parent page uses whole-number digits as a heuristic: up to eleven suggests seconds, twelve to fourteen milliseconds, fifteen to seventeen microseconds and eighteen or more nanoseconds. 1735689600 is 2025-01-01T00:00:00.000Z as seconds and 1970-01-21T02:08:09.600Z as milliseconds. Historical or far-future values can defeat detection.
- Does the timestamp change with my time zone?
- No. A timestamp is the same number everywhere; only the way it is written out changes. With a timestamp in the box, the Local and UTC control switches which zone the readable rows are printed in, and the Seconds and Milliseconds rows do not move. A date typed without a zone is different: the control also says which zone that clock reading is in, so its timestamp moves with it.
- What happens to Unix time in 2038?
- A signed 32-bit integer runs out at 2147483647 seconds, which is 2038-01-19T03:14:07.000Z. Systems that still store timestamps that way will wrap; this converter holds the value as a double, so dates well beyond 2038 and before 1970 both convert here. The table below stops at 2035 because that is as far as the question usually goes, not because the tool does.
- Do leap seconds count?
- No, and that is by definition rather than by omission. Unix time treats every day as exactly 86,400 seconds, so a leap second is not given a number of its own. That is why a timestamp converts to a date with plain arithmetic and no table of leap seconds is involved.
Exact integer scaling, floored to milliseconds, within JavaScript’s Date range: -8,640,000,000,000,000 to +8,640,000,000,000,000 milliseconds. Automatic units are a heuristic. Zone-free dates use the selected browser-local zone or UTC; ambiguous or skipped local times require a different choice or explicit offset. Relative months and years are approximate.