Unix Timestamp Converter

Convert a Unix timestamp into a date in a time zone you choose, or a date back into seconds and milliseconds. About ten digits are seconds; thirteen are milliseconds. Batch takes one value per line, in the browser.

Timestamp to date

Date to timestamp

Without Z or an offset, the time zone above is used. A date alone is 00:00:00.

Batch

The number is the same everywhere. The clock is not.

Unix time counts from 1970-01-01 00:00:00 UTC. Shanghai and New York share the integer and not the wall clock. This page turns a timestamp into the date of a zone you pick, or a date in that zone back into seconds and milliseconds. Batch takes one value per line. Nothing is uploaded. A JWT exp is this kind of number; the token itself is read on JWT Decoder.

How to use it

  1. Under Timestamp to date, paste a number. Leave the unit on Detect seconds or milliseconds. Below 1e12, about ten digits, it is seconds, such as 1700000000. At least 1e12, about thirteen digits, it is milliseconds. The hint says which. The time zone box shows the chosen zone; open it and type a city, an abbreviation such as EST, or UTC+8. The name follows this page’s language. The first result line is the wall time in that zone, then the offset, then seconds, milliseconds, and a UTC ISO string. Now fills the current Unix seconds, or the current milliseconds if the unit is forced to Milliseconds.
  2. Under Date to timestamp, type 2026-06-06, 2026-06-06 10:37:40, 2026-06-06T10:37:40, 2026-06-06T10:37:40Z, or 2026-06-06T10:37:40+08:00. With no Z and no offset, the zone on that card is used, and a date alone is 00:00:00. Z or an explicit offset wins over the selected zone. Now fills the current wall time in that zone. The result is seconds, milliseconds, and UTC.
  3. Batch takes one value per line. Timestamps to dates uses the batch zone and the batch unit, and writes YYYY-MM-DD HH:mm:ss. Dates to timestamps hides the unit and writes seconds, one per line, using the batch zone when the line has no offset. A line that cannot be read shows an error on that line; the others still convert. Clear empties the batch box. Clear All empties every box. Show Example fills 1700000000, the date 2026-06-06 10:37:40, and three batch lines: 1700000000, 0, and 1700000000000.

What stays fixed

Seconds are the millisecond value truncated toward zero. Timestamp 0 is 1970-01-01 00:00:00 UTC, 1970-01-01 08:00:00 in Asia/Shanghai, and 1969-12-31 19:00:00 in America/New_York. The list is every IANA zone this browser knows, with the name in this page’s language. It opens on your computer’s zone. The offset beside a result is the one in force at that instant, so summer and winter in New York do not share one. An hour that happens twice when clocks fall back is ambiguous; the page picks one. A date the pattern does not match is handed to the browser, which may treat it as local.

Where people use it

  • Reading created_at from an API as Beijing time instead of UTC.
  • Turning a date range into seconds for a SQL BETWEEN.
  • Pasting a column of log timestamps and reading them in one zone.

Questions

Beijing time is eight hours ahead of the UTC line.

The timestamp is one instant. Asia/Shanghai is UTC+8, so the wall time is eight hours later. Search Shanghai or UTC+8.

A ten-digit number was read as seconds and I meant milliseconds.

Set the unit to Milliseconds. Auto treats only magnitudes of at least 1e12 as milliseconds.

The timestamp is not UTC midnight for the date I typed.

Without Z or an offset, the date is read in the zone selected on that card. Add Z when you mean UTC.