Unix Timestamp Converter

Epoch to Human Date

Convert Unix timestamps (seconds or ms, auto-detected) to ISO, UTC, and local dates, or turn a date back into epoch.

This conversion runs only in your browser — nothing is uploaded.

Now

Seconds
Milliseconds
ISO

Timestamp → Date

Seconds and milliseconds are auto-detected (|value| > 1e12 → ms).

Date → Timestamp

Date input is interpreted in the selected zone when converting to epoch.

What is this tool?

This Unix timestamp converter turns epoch integers into human-readable dates and the reverse. Unix time counts seconds (or, in many APIs and JavaScript, milliseconds) since 1970-01-01 00:00:00 UTC.

Paste a numeric timestamp and get live ISO (UTC), a formatted UTC string, and a browser-local wall clock. Or pick a date with an explicit Browser local / UTC zone and copy epoch seconds or milliseconds.

Use it for logs, JWT exp/iat, cron and job schedules, analytics exports, database columns, cache TTLs, and API debugging when two systems disagree by a factor of 1000.

Common use cases

  • Confirm whether a log field is seconds or milliseconds before writing a parser
  • Translate JWT exp / iat into local wall time while debugging auth
  • Build or check schedule cutovers where UTC midnight ≠ local midnight

How to use

  1. Read the Now card for live seconds, milliseconds, and ISO — each has Copy.
  2. Enter a timestamp (Sample loads 1700000000). Results update live; check the unit chip.
  3. Or choose a time zone, pick a date/time, and copy epoch seconds or milliseconds.
  4. Prefer UTC when the destination system stores UTC; use Browser local only when the wall clock matters.

Seconds vs milliseconds

InputDetected unitISO (UTC)
1700000000Seconds2023-11-14T22:13:20.000Z
1700000000000Milliseconds2023-11-14T22:13:20.000Z
0Seconds1970-01-01T00:00:00.000Z

Rule of thumb: if the number looks like ~1.7×10⁹ it is almost always seconds; ~1.7×10¹² is milliseconds (Date.now()).

Examples

Input / settingOutputNotes
01970-01-01T00:00:00.000ZEpoch start (UTC).
17000000002023-11-14T22:13:20.000ZSeconds → ISO.
1700000000000Same ISO as aboveMilliseconds auto-detect.
Date 1970-01-01T00:00:00 + UTC0Round-trip of epoch 0.

Practical pitfalls

  • Epoch 0 ≠ local midnight: Instant 0 is UTC midnight on 1970-01-01. In US/Pacific it is still 1969-12-31 locally — do not format epoch boundaries with a local calendar and assume UTC.
  • Seconds vs milliseconds off-by-1000 is the most common production bug; always check digit length or |value| > 1e12.
  • Unique here vs many converters: live ISO and UTC and local rows, plus an explicit zone on date→epoch so datetime-local is not ambiguous.

References

Last reviewed: 2026-07-27

Frequently asked questions

Does this use seconds or milliseconds?
Both. Values with absolute magnitude greater than 1e12 are treated as milliseconds (JavaScript `Date.now()` scale); smaller integers are treated as seconds. The detected unit appears as a chip under the input.
What is Unix timestamp 0?
Epoch 0 is 1970-01-01T00:00:00.000Z (UTC). In a non-UTC local zone the same instant shows a different wall clock — often the evening of 1969-12-31 — which is a common source of off-by-one-day bugs.
Which time zone is used for date input?
Choose Browser local or UTC above the date picker. `datetime-local` has no zone of its own; the selector decides how those fields map to epoch seconds.
Is conversion local?
Yes. All math runs in your browser; timestamps are not uploaded.