Why use Unix Timestamp Converter
A Unix timestamp is the number of seconds since 00:00:00 UTC on 1 January 1970. Paste one in and this page shows the moment it represents as an ISO 8601 string, a UTC date and your own local time: 1700000000, for example, is 14 November 2023 at 22:13:20 UTC. Ten-digit values are read as seconds and thirteen-digit values as milliseconds, without you having to say which. Switch the direction to turn a date such as 2026-01-01T00:00:00Z into its timestamp, 1767225600. The Value field starts on the current time, so the page opens showing the Unix time right now.
Unix timestamp to date reference table
Each timestamp below was converted with this page. Times are UTC.
| Unix timestamp (seconds) | Date and time (UTC) | Note |
|---|---|---|
| 0 | Thu, 1 Jan 1970 00:00:00 | The Unix epoch |
| 86400 | Fri, 2 Jan 1970 00:00:00 | Exactly one day later |
| 946684800 | Sat, 1 Jan 2000 00:00:00 | Start of 2000 |
| 1000000000 | Sun, 9 Sep 2001 01:46:40 | First 10-digit timestamp |
| 1234567890 | Fri, 13 Feb 2009 23:31:30 | Digits in sequence |
| 1500000000 | Fri, 14 Jul 2017 02:40:00 | |
| 1600000000 | Sun, 13 Sep 2020 12:26:40 | |
| 1700000000 | Tue, 14 Nov 2023 22:13:20 | |
| 1735689600 | Wed, 1 Jan 2025 00:00:00 | Start of 2025 |
| 1767225600 | Thu, 1 Jan 2026 00:00:00 | Start of 2026 |
| 1798761600 | Fri, 1 Jan 2027 00:00:00 | Start of 2027 |
| 1800000000 | Fri, 15 Jan 2027 08:00:00 | |
| 1893456000 | Tue, 1 Jan 2030 00:00:00 | Start of 2030 |
| 2000000000 | Wed, 18 May 2033 03:33:20 | |
| 2147483647 | Tue, 19 Jan 2038 03:14:07 | Largest signed 32-bit value |
| 4102444800 | Fri, 1 Jan 2100 00:00:00 | Start of 2100 |
Worked conversions in both directions
Seconds to a date
Direction Timestamp → date, Value 1700000000
ISO 8601 2023-11-14T22:13:20.000Z. UTC Tue, 14 Nov 2023 22:13:20 GMT. Milliseconds 1700000000000. Relative to epoch 19,675.93 days after 1970.
Milliseconds to a date
Direction Timestamp → date, Value 1700000000000
Seconds 1700000000. ISO 8601 2023-11-14T22:13:20.000Z.
Thirteen digits, so it is read as milliseconds and gives the same instant as the example above.
A date with a UTC marker to a timestamp
Direction Date → timestamp, Value 2026-01-01T00:00:00Z
Seconds 1767225600. Milliseconds 1767225600000. Relative to epoch 20,454.00 days after 1970.
A date with an offset
Direction Date → timestamp, Value 2026-10-08T12:00:00+05:30
Seconds 1791441000. ISO 8601 2026-10-08T06:30:00.000Z.
Noon at five and a half hours ahead of UTC is 06:30 UTC. The offset is applied before the count is taken.
A date before 1970
Direction Date → timestamp, Value 1969-07-20T20:17:00Z
Seconds -14182980. Relative to epoch 164.15 days before 1970.
Negative values are valid and mean a moment before the epoch.
A timestamp pasted with separators
Direction Timestamp → date, Value 1,700,000,000
Seconds 1700000000. ISO 8601 2023-11-14T22:13:20.000Z.
Commas, underscores and spaces are stripped before the number is read.
Seconds or milliseconds: how the unit is detected
Mixing up seconds and milliseconds is the most common mistake with epoch values. Unix system calls, shell tools, JWT exp and iat claims and most SQL functions use seconds. JavaScript's Date.now(), Java's System.currentTimeMillis() and many JSON APIs use milliseconds. Feed seconds to code that expects milliseconds and you get a date in January 1970. Do the opposite and you get a date tens of thousands of years away.
This page decides by size. A value of 100,000,000,000 or more, ignoring the sign, is read as milliseconds. Anything smaller is read as seconds. The cut-off works for every present-day value: a timestamp in seconds does not reach it until the year 5138, and a timestamp in milliseconds passed it on 3 March 1973.
Two limits follow from that rule. A millisecond timestamp for a moment before 3 March 1973 is short enough to be read as seconds, so convert those by removing the last three digits first. Microsecond and nanosecond timestamps, with 16 and 19 digits, are not recognised: a microsecond value is treated as milliseconds and lands in a far-future year, and a nanosecond value is rejected as out of range. Trim them to 13 or 10 digits before pasting. A decimal such as 1700000000.5 is accepted, and the fraction appears as milliseconds in the ISO 8601 line.
How to get the current Unix timestamp in code
| Language | Current time in seconds |
|---|---|
| JavaScript | Math.floor(Date.now() / 1000) |
| Python | int(time.time()) |
| PHP | time() |
| Java | System.currentTimeMillis() / 1000 |
| C# | DateTimeOffset.UtcNow.ToUnixTimeSeconds() |
| Go | time.Now().Unix() |
| Ruby | Time.now.to_i |
| Bash | date +%s |
| MySQL | SELECT UNIX_TIMESTAMP() |
| PostgreSQL | SELECT EXTRACT(EPOCH FROM now()) |
Date.now() in JavaScript and System.currentTimeMillis() in Java return milliseconds, which is why they are divided by 1000 here. The PostgreSQL expression returns a value with a fractional part.
Seconds in common time spans
Add or subtract these to move a timestamp by a fixed amount.
| Span | Seconds |
|---|---|
| 1 minute | 60 |
| 1 hour | 3,600 |
| 1 day | 86,400 |
| 1 week | 604,800 |
| 30 days | 2,592,000 |
| 365 days | 31,536,000 |
| 366 days (leap year) | 31,622,400 |
Months and years vary in length, so adding a fixed number of seconds does not always land on the same calendar date and time.
The year 2038 problem and leap seconds
Software that stores Unix time in a signed 32-bit integer can count no higher than 2,147,483,647, reached at 03:14:07 UTC on 19 January 2038. The next second wraps the counter round to a large negative number, which reads as a date in December 1901. Systems with a 64-bit time value are not affected, and neither is this page, which works in JavaScript's millisecond-based dates. The risk sits in older embedded devices, file formats and database columns that fixed a 32-bit field. Any program that calculates dates more than a few years ahead can hit it well before 2038.
Unix time also ignores leap seconds. Every day is treated as exactly 86,400 seconds long, even though 27 leap seconds have been added to UTC since 1972. So a Unix timestamp is not a true count of elapsed seconds since 1970, and the difference between two timestamps can be out by a second or more across a leap second. For logs, APIs and databases this almost never matters. For precise scientific timing it does.
Using Unix Timestamp Converter
- 1
Set Direction to Timestamp → date or Date → timestamp.
- 2
Enter the Value. For a timestamp, type the number in seconds or milliseconds. For a date, use ISO 8601 such as 2023-11-14T22:13:20Z, or YYYY-MM-DD.
- 3
Read the Converted panel: Seconds, Milliseconds, ISO 8601, UTC, Local and Relative to epoch.
- 4
Copy the All formats block to take every representation with you in one paste.