Timestamp Converter

Convert Unix timestamps to human-readable dates and back. Shows current epoch.

Current Unix Timestamp

0

Unix → Human

Date → Unix

A Unix timestamp counts seconds since January 1, 1970 UTC, and the translation runs both ways here: paste a timestamp and get a readable date, always rendered in UTC, or pick a date-time and get the timestamp that corresponds to it. A live counter at the top shows the current timestamp, ticking once per second.

Seconds in, not milliseconds

The converter treats whatever you paste as seconds. JavaScript's Date.now(), Java's System.currentTimeMillis(), and most log pipelines emit milliseconds — a 13-digit number. Paste one of those here and you will get a date in the year 55840, because the tool multiplies your input by 1000 before building the date. If the output looks absurdly far in the future, drop the last three digits. As a quick sanity check: current timestamps in seconds are 10 digits long and will stay that way until the year 2286.

Fractional input is silently truncated rather than rounded: 1700000000.9 converts as 1700000000. If you are carrying sub-second precision from a metrics system, it is discarded here.

The round-trip is not symmetric

Unix-to-human output is always UTC, and labeled as such. But the date-to-Unix direction reads a datetime-local field, which your browser interprets in your local timezone. So if you convert a timestamp to a date, retype that date in the right-hand panel, and convert back, the result will be offset by your UTC offset — five and a half hours if you are in India, for example. This matches how most people actually use the two directions (read server logs in UTC, encode local meeting times), but it bites when you expect a clean round-trip. Negative values work fine in the Unix-to-human direction: -1 gives December 31, 1969 at 11:59:59 PM UTC.

A recent round number
Input: 1700000000
Output: November 14, 2023 at 10:13:20 PM UTC
Ten digits — the normal length for a seconds-based timestamp in this era.
The 32-bit rollover
Input: 2147483647
Output: January 19, 2038 at 3:14:07 AM UTC
The largest value a signed 32-bit integer can hold. One second later, systems still storing time_t in 32 bits wrap to 1901 — the Y2038 problem.

Questions people ask

Why did my timestamp convert to a date thousands of years in the future?

You almost certainly pasted milliseconds. The tool assumes seconds and multiplies by 1000 internally, so a 13-digit millisecond value gets multiplied a second time. Divide by 1000 (or trim the last three digits) and convert again.

Which timezone does the date picker use when converting to Unix?

Your browser's local timezone. The datetime-local input has no timezone selector, so the browser assumes local time and the tool converts from there. If you need the timestamp for a UTC wall-clock time, mentally apply your offset first — or work in the Unix-to-human direction, which is always UTC.

Once you have two timestamps as dates, the date difference calculator gives you the exact day count between them, and the cron parser is the natural next stop when the timestamps you are debugging come from a scheduler.

Further reading