Skip to main content
Qwikora

Unix Timestamp Converter

Use this Unix timestamp converter to turn epoch seconds or milliseconds into UTC, local and ISO 8601 dates, or a date, time and time zone into a timestamp. A live clock shows the current epoch time.

Current Unix time

Updates every second
Seconds
-
Milliseconds
-

Sampled once per second, so it always ends in 000.

Convert

Integer or decimal. Negative values are dates before 1970.

Unit

Auto reads values with an absolute size of 100,000,000,000 or more as milliseconds and anything smaller as seconds. Pick a unit to override it.

Enter a timestamp, or press Use current time, to see it as a date.

How to use the Unix Timestamp Converter

  1. Check the Current Unix time panel if you just need the present moment in seconds or milliseconds, and press Copy next to the one you want.
  2. To read a timestamp, stay on Timestamp to date, paste the number into Unix timestamp (or press Use current time) and leave the unit on Auto. If the date looks wrong, switch the unit to Seconds or Milliseconds.
  3. Copy the UTC time, local time, readable sentence or ISO 8601 string you need. The panel also shows how long ago or from now that moment is.
  4. To make a timestamp, switch to Date to timestamp, choose the Date and Time, then pick the Time zone that the clock reading belongs to.
  5. Copy the Unix seconds or milliseconds. If the tool warns that your time is skipped or repeated by a daylight saving change, read the note to see which instant was used.

How a Unix timestamp becomes a date

A Unix timestamp counts the time since 00:00:00 UTC on 1 January 1970, known as the epoch. Because it is a single number tied to UTC, it means the same moment everywhere, and it ignores time zones and daylight saving until you format it for display. Dates before 1970 are negative: -86400 is 1969-12-31 00:00:00 UTC, exactly one day earlier.

Timestamps appear in two sizes. Many systems use seconds (1700000000), while JavaScript and many APIs use milliseconds (1700000000000). The two are 1,000 times apart, so the tool has to know which one you mean. Auto mode reads any value with an absolute size of 100,000,000,000 (1e11) or more as milliseconds and anything smaller as seconds. That reads every millisecond value from March 1973 onward and every second value up to the year 5138 correctly. Because a wrong guess can be off by decades, you can force Seconds or Milliseconds, and the result always tells you which unit was used.

To turn a date and time in a named zone into a timestamp, the tool first finds the zone's offset from UTC on that date using your browser's built-in time zone data, then subtracts it. A daylight saving change can make a clock reading happen twice or not at all, so there is a fixed rule for those cases, listed under the assumptions below.

Unix seconds      = Unix milliseconds / 1000
Instant (UTC)     = 1970-01-01T00:00:00Z + timestamp
Local clock time  = Instant + zone offset (e.g. +5:30 for Asia/Kolkata)
Unix timestamp    = Clock time as if it were UTC - zone offset
Auto unit rule    = milliseconds if |value| >= 1e11, otherwise seconds
  • To count the days between two calendar dates rather than two timestamps, use the Days Between Dates.
  • To move a calendar date forward or back by a number of days, use the Add or Subtract Days.

Assumptions and limits

  • Auto-detect is a rule of thumb: values with an absolute size of 1e11 or more are milliseconds, everything below is seconds. Millisecond values between roughly October 1966 and March 1973 are read as seconds unless you pick Milliseconds.
  • Valid timestamps run from -8,640,000,000,000,000 to 8,640,000,000,000,000 milliseconds (the years -271821 to 275760), the limit of JavaScript dates. The date picker accepts years 0001 to 9999.
  • Digits finer than a millisecond are dropped, rounding toward the earlier moment, so 1.0009 seconds becomes 1000 milliseconds.
  • If a clock time is repeated when clocks go back, the tool uses the earlier of the two moments and shows the later one. If a clock time is skipped when clocks go forward, it is shifted forward by the length of the gap. Other tools may choose differently.
  • Local time and time zone offsets come from your browser and operating system. Very old dates use the historical offsets in your browser's time zone data, which can include odd values such as +05:53:28, and the data may differ between browsers.
  • Relative times (for example 3 hours ago) round down and use the largest fitting unit. A month is counted as 30.4375 days and a year as 365.25 days, so those are approximate.
  • Unix time ignores leap seconds. The milliseconds on the live clock are sampled once per second, so they always end in 000.

Practical examples

Read a timestamp: 1700000000

1700000000 seconds is Tuesday, 14 November 2023 at 22:13:20 UTC, or 2023-11-14T22:13:20.000Z in ISO 8601. In Asia/Kolkata (UTC+05:30) the same moment reads 03:43:20 on Wednesday, 15 November 2023, so the date changes depending on the zone. The 13-digit value 1700000000000 is at least 1e11, so Auto reads it as milliseconds and lands on the same instant. If you force Seconds instead, the tool reads it as the year 55840 (+055840-11-08T22:13:20.000Z), which is why the unit is always shown.

Make a timestamp: 1 January 2025, 00:00 in India

In Date to timestamp, enter 2025-01-01, 00:00:00 and the time zone Asia/Kolkata. India is 5 hours 30 minutes ahead of UTC, so that clock reading is 2024-12-31T18:30:00.000Z, which is Unix second 1735669800 (1735669800000 milliseconds). The same clock reading in UTC gives 1735689600, which is 19,800 seconds later.

A time that does not exist: 8 March 2026 in New York

On 8 March 2026 clocks in America/New_York jump from 02:00 to 03:00, so 02:30 never happens. The tool shifts it forward by one hour to 03:30 EDT, which is 07:30:00 UTC and Unix second 1772955000. On 1 November 2026, 01:30 happens twice, and the tool uses the first one, 05:30:00 UTC (1793511000). The second is 06:30:00 UTC (1793514600).

Frequently asked questions

How can I tell if a timestamp is in seconds or milliseconds?

Count the digits for current dates: 10 digits is usually seconds and 13 is usually milliseconds. Auto mode applies a fixed rule (1e11 or more is milliseconds), and you can override it with the Seconds or Milliseconds buttons.

Why is my converted date in 1970?

A millisecond timestamp treated as seconds gives a date far in the future, while a seconds timestamp treated as milliseconds lands in January 1970. If you see 1970, switch the unit and check the number again. Between 31 October 1966 and 3 March 1973, millisecond values are below the Auto threshold, so choose Milliseconds yourself for those.

Does a Unix timestamp include a time zone?

No. It counts from a fixed UTC moment, so the same number is the same instant everywhere. A time zone only matters when you display it as a clock time or when you turn a clock time into a timestamp. Unix time also ignores leap seconds: every day counts as exactly 86,400 seconds.

What is the Year 2038 problem?

A signed 32-bit second counter tops out at 2147483647, which is 2038-01-19T03:14:07Z, and the lowest value, -2147483648, is 1901-12-13T20:45:52Z. This tool uses JavaScript dates, which handle far larger values, so it is not affected, but systems that still store seconds in 32 bits can be.

How do I get the current Unix timestamp in code?

In JavaScript, Date.now() returns milliseconds, so use Math.floor(Date.now() / 1000) for seconds. In Python, time.time() returns seconds as a float. The live clock on this page shows both values for a quick check.

Is anything I enter sent to a server?

No. The conversion runs in your browser using its own clock and time zone data. The values you type are not uploaded.