Timestamp converter

Convert an instant between Unix timestamps, UTC, and your local date and time.

Explicit seconds; up to 3 fractional digits. Units are never guessed from the number of digits.

Enter a value or use Current time. Results update as you type.

Seconds since the Unix epoch; up to 3 decimal places retain milliseconds.

Whole milliseconds since the Unix epoch. 1 second = 1,000 milliseconds.

Z means UTC. This identifies the same instant in every timezone.

Detected when the tool loads. Offset shown for this instant, including daylight saving time.

Your input stays in this page’s memory. Copy writes only the chosen result to your clipboard.

How to convert a timestamp

  1. Choose Unix seconds, Unix milliseconds, or ISO date/time. Units are explicit and never guessed from digit count.
  2. Enter one value. For an ISO input without an offset, choose Interpret as UTC or Interpret as local time. UTC is the default. An explicit Z or numeric offset takes precedence.
  3. Read all four results: Unix seconds, Unix milliseconds, UTC / ISO 8601, and local date/time with its offset. Each Copy button copies that result.
  4. Use Current time to capture your device clock once in the selected format. Clear removes the input and results.

The Unix epoch is 1970-01-01T00:00:00Z. Seconds and milliseconds count the same elapsed time in different units: 1 second = 1,000 milliseconds. A timestamp identifies an instant; the local clock display depends on a timezone.

Examples and explicit units

Unix seconds
1704067200 is 2024-01-01T00:00:00.000Z. Fractional seconds such as 1704067200.125 preserve milliseconds.
Unix milliseconds
1704067200000 is the same instant. Millisecond input must be a whole number; decimals, exponent notation, commas, and hexadecimal are rejected.
ISO with an offset
2024-01-01T05:30:00+05:30 also becomes 2024-01-01T00:00:00.000Z. Z means UTC; a positive offset means the input clock is ahead of UTC.

Negative values precede the epoch. -0.001 seconds is -1 millisecond, or 1969-12-31T23:59:59.999Z. Seconds output retains the exact fractional value instead of rounding to a whole second.

Timezones and daylight saving time

A bare 2024-01-01T12:00 uses the selected interpretation. A date alone, such as 2024-01-01, means midnight in that selection. Local means the timezone reported by your browser, shown beside the output; it is not inferred from your location or the text. Local conversions use your browser’s timezone database, whose historical and future rules can vary between devices.

During a spring clock change, some local times never occur. In America/New_York, 2024-03-10T02:30 does not exist. During a fall clock change, some times occur twice: 2024-11-03T01:30 can mean 2024-11-03T05:30:00Z or 2024-11-03T06:30:00Z. Local interpretation rejects both skipped and ambiguous times instead of silently moving the clock or choosing one occurrence. These examples apply when your browser uses that timezone.

Resolve a repeated time by supplying its offset: 2024-11-03T01:30:00-04:00 picks the first occurrence and 2024-11-03T01:30:00-05:00 picks the second. Numeric offsets identify an instant directly; they are not checked against a named timezone’s rules. Local output shows the offset at that instant, including DST. Some historical offsets include seconds.

Accepted dates and invalid input

This converter accepts a deliberate subset of ISO 8601: YYYY-MM-DD or YYYY-MM-DDTHH:mm[:ss[.SSS]], optionally followed by Z or ±HH:mm after the time. Use four-digit years 0000–9999, uppercase T and Z, valid calendar dates, hours 00–23, and minutes/seconds 00–59. Up to three fractional digits are supported, after seconds. Surrounding whitespace is ignored.

Invalid leap days, rollover dates, 24:00, leap seconds, sub-millisecond precision, and unknown offset -00:00 are rejected. Use Z or +00:00 for known UTC. Numeric offsets may range through ±23:59. Slash dates such as 01/02/2024, timezone abbreviations, week dates, and natural-language dates are unsupported. The converter validates fields before constructing a date; it does not use permissive Date string parsing.

Unix input supports the JavaScript Date range: ±8,640,000,000,000,000 milliseconds from the epoch. Output beyond years 0000–9999 uses a signed six-digit year; this expanded-year output cannot be pasted into the four-digit ISO input. Unix time here does not model leap seconds. Read the JavaScript date/time format specification.

Privacy and related tools

Conversion runs in this page’s memory. The tool does not log, upload, or store your input, put it in the URL, or make conversion requests. Copy writes the selected output to your clipboard. Loading the page still requests site files; see the site privacy details.

For timestamp claims such as exp, iat, and nbf inside a token, use the JWT explorer / creator. For percent-encoded date values, use URL encode / decode, or browse all browser tools.