Skip to main content

Unix timestamp to a date, and back

Paste a timestamp and read the date in UTC, in your own zone and in any zone you pick; type a date and get Unix time in seconds and milliseconds. The current time ticks at the top of the page.

runs in your browser · nothing is sent anywhere

Now refreshed once a second
unix, seconds
—
unix, milliseconds
—
UTC, ISO 8601
—
local time
—
Timestamp → date seconds, milliseconds or microseconds — the units follow from the number of digits
Result
unix, seconds
—
unix, milliseconds
—
UTC, ISO 8601
—
HTTP date (RFC 7231)
—
local time
—
Moscow
—
selected zone
—
weekday, date
—
relative to now
—
ISO week (UTC)
—
start of day, unix (UTC)
—
start of day, unix (zone)
—
Date → timestamp type a date and say which zone to read it in
Result
unix, seconds
—
unix, milliseconds
—
UTC, ISO 8601
—
ISO 8601 with an offset
—
Batch one value per line, up to 10,000 lines; lines holding a date are turned into timestamps

  

How to use it

  1. Copy the current time from the Now block — seconds or milliseconds, button next to each.
  2. Paste a timestamp into Timestamp → date: the units (seconds, milliseconds, microseconds) follow from the number of digits.
  3. Pick an extra zone from the list — the table then shows UTC, your browser time, Europe/Moscow and the zone you chose, plus the weekday, the ISO week and how long ago it was.
  4. For the other direction fill in Date → timestamp and say which zone the time you typed belongs to.
  5. A list of timestamps, one per line, goes into the Batch block — up to 10,000 lines, and the whole result copies in one click.

What a Unix timestamp is

Unix time, or epoch time, is the number of seconds since 1 January 1970, 00:00:00 UTC. It carries no zone and no daylight saving, which is why databases, trackers, APIs and logs store event time in it. 1723800000 is the same second for a server in Singapore, in Berlin and in New York; only the human-readable spelling differs.

JavaScript and Java count in milliseconds (13 digits); PHP, Python, Go and MySQL UNIX_TIMESTAMP() count in seconds (10 digits); some logs and tracing systems use microseconds (16 digits). The tool reads the units from the length and prints what it recognised, so a 2026 date does not quietly become a 1970 one.

How the zone arithmetic works

Every conversion goes through the browser built-in Intl.DateTimeFormat with the IANA database (tzdata), so daylight saving transitions and historical offsets are handled the way your operating system handles them — Europe/Moscow really was UTC+4 until 2014, and a 2013 timestamp is shown that way. The offset is computed for the date in question, not taken from today.

In the other direction the date you type is read in the zone you selected and turned into UTC. If that wall-clock time falls into a gap left by a spring-forward — 02:30 on the transition night in Berlin — the browser moves it an hour ahead, which is what most libraries do.

Where this gets used

  • Postbacks and tracker logs: Keitaro, Binom and Voluum report conversion time in epoch, and you need the hour and the day in a particular zone.
  • Debugging APIs and JWTs: exp, iat and created_at arrive as numbers, and the converter says whether the token is already expired and by how much.
  • Scheduling: turning a launch at 09:00 in Asia/Almaty into a timestamp for a cron line or a dashboard field.
  • Reconciling reports: a column of timestamps from a CSV becomes readable dates in one paste, without Excel formulas.

Output formats worth knowing

FormatExampleWhere you meet it
ISO 8601 UTC2026-08-16T09:12:33.000ZJSON APIs, JavaScript toISOString()
ISO 8601 with an offset2026-08-16T12:12:33+03:00PHP DATE_ATOM, Laravel, RSS
HTTP date (RFC 7231)Sat, 16 Aug 2026 09:12:33 GMTDate, Expires and Last-Modified headers
Unix seconds / milliseconds1786785153 / 1786785153000Databases and trackers / JavaScript, Kafka

Questions

How do I convert a Unix timestamp to a date?

Paste the number into the Timestamp → date field. The tool decides whether it is seconds, milliseconds or microseconds and shows the date in UTC, in your own zone, in Europe/Moscow and in the zone you selected.

Seconds or milliseconds — how do I tell them apart?

By length: 10 digits are seconds (dates from 2001 to 2286), 13 are milliseconds, 16 are microseconds. The recognised units are printed under the input, and both the seconds and the milliseconds value are given in the result.

What happens in 2038?

On 19 January 2038 at 03:14:07 UTC a signed 32-bit counter of seconds overflows at 2,147,483,647. Current systems keep time in 64 bits, so the problem belongs to old code and embedded devices. This converter works far past that date.

Is daylight saving taken into account?

Yes. The offset is computed for the specific date through the browser time zone database (IANA tzdata), so summer and winter transitions are handled, along with historical changes such as Russia dropping the clock change in 2011 and 2014.

How do I convert a lot of timestamps at once?

Paste the list, one value per line, into the Batch block. It handles up to 10,000 lines, the output zone comes from the dropdown, and one button copies the result. Lines that hold a date in text form are converted to timestamps instead.

Project sponsors

Companies that keep this analytics open