Epoch converter

Convert Unix timestamps to local and UTC dates — and any date back to a timestamp — instantly in your browser.

Current Unix time Starting clock…

Timestamp to date

Date to timestamp

Working with Unix epoch time

A Unix timestamp is the cleanest way a computer can record a moment: a single integer counting the seconds since 00:00:00 UTC on 1 January 1970, the so-called epoch. Because that number carries no timezone and no formatting, it is unambiguous, easy to sort, and trivial to compare — which is why almost every database row, server log line and API response stores time this way. This converter turns those raw integers into dates you can read, and turns human dates back into timestamps, entirely inside your browser.

The catch is that a single instant looks different depending on the timezone you display it in. The timestamp 1774828800 is exactly one moment, but your screen will show it as one wall-clock time in London and another in New York. That is why the tool always shows both the UTC value and your local value: they describe the same instant, just rendered in different offsets.

A worked example

Paste 1774828800 with the unit set to seconds. The browser multiplies it by 1000 to get milliseconds, builds a Date, and reports Sat, 28 Mar 2026 00:00:00 GMT for UTC. If your machine is set to US Eastern time (UTC−4 in late March), the local row instead reads around 27 Mar 2026, 20:00 — five hours earlier on the clock, the very same instant in reality. Add three zeros to make it 1774828800000 and the auto-detector treats it as milliseconds, landing on the identical date.

Milestones on the epoch line

UTC date & timeUnix valueWhy it matters
1 Jan 1970 00:00:000The epoch itself — the origin of all Unix time.
9 Sep 2001 01:46:401000000000The roll from nine to ten digits.
18 May 2033 03:33:202000000000Two billion seconds since the epoch.
19 Jan 2038 03:14:072147483647The maximum signed 32-bit value (the Y2K38 limit).

Seconds vs milliseconds

The biggest source of off-by-1000 bugs is mixing units. Unix tools, PostgreSQL and most log formats use seconds (a 10-digit number today). JavaScript’s Date.now(), Java and many JSON APIs use milliseconds (13 digits). When in doubt, count the digits: a present-day timestamp with ten digits is seconds; thirteen is milliseconds. Leave the unit on Auto-detect and the tool will make that call for you.

Privacy note: this converter uses only the browser’s built-in Date object. No timestamp or date you enter is uploaded, logged or stored — close the tab and it is gone.

Frequently asked questions

What is a Unix epoch timestamp?

It is a single integer that counts the number of seconds elapsed since 00:00:00 UTC on 1 January 1970 — the "Unix epoch". Because it is one timezone-independent number, it is the standard way databases, logs and APIs store a moment in time. Many systems use milliseconds (a 13-digit number) instead of seconds (a 10-digit number).

Does this tool handle seconds or milliseconds?

Both. When you convert a timestamp to a date, the tool auto-detects the unit from the magnitude: roughly 10-digit values are read as seconds and 13-digit values as milliseconds, and you can override the guess with the unit selector. When converting a date back to a timestamp it shows you both the seconds and the milliseconds value.

Why do my local time and the UTC time differ?

A Unix timestamp has no timezone — it always refers to the same instant. The local row applies your device’s current timezone offset (including daylight saving) for readability, while the UTC row shows the same instant in Coordinated Universal Time. Both describe the exact same moment.

What date formats can I paste into the date-to-timestamp box?

Anything the browser’s Date parser understands: ISO 8601 like 2026-05-28T16:00:00Z, a plain 2026-05-28 16:00:00 (interpreted in your local timezone), or common forms such as "May 28 2026". For unambiguous results, prefer full ISO 8601 with an explicit Z or +hh:mm offset.

What is the Year 2038 problem?

Systems that store Unix time in a signed 32-bit integer can only count up to 2,147,483,647 seconds, which is reached at 03:14:07 UTC on 19 January 2038. One second later the counter overflows to a large negative number, rolling the date back to 1901. Modern platforms avoid this by using 64-bit timestamps.

Is anything sent to a server?

No. Every conversion runs locally in your browser using the built-in JavaScript Date object. Your timestamps and dates never leave your device, and nothing is logged or stored.