/timestamp

Unix timestamp

Convert between Unix time and readable dates, local and UTC.

Now
Seconds or milliseconds.
-
-

How it works

Unix time counts seconds since 1 January 1970 (UTC). Paste a number to see the date in both local time and UTC, or pick a date to get the timestamp back. Milliseconds are detected automatically.

About this tool

A Unix timestamp (also called "epoch time") is the number of seconds elapsed since January 1, 1970 00:00:00 UTC, the zero point of the Unix world. It’s the most common way to represent time in software because it’s compact, unambiguous and easy to compare. This tool converts between Unix timestamp and human-readable date/time in your local time zone, in UTC and in ISO 8601 format. It handles both seconds and milliseconds (which JavaScript, Java and PostgreSQL typically use) and shows the current timestamp updating live.

How to use it

  1. Enter a Unix timestamp (seconds or milliseconds), the tool detects the format automatically.
  2. See the date converted to your local time zone, UTC and ISO 8601 simultaneously.
  3. Reverse direction: pick a date and time, and get back the Unix timestamp.
  4. Click "Now" for the current timestamp, updates in real time.
  5. Copy the result with one click to use in code or SQL.

Examples

Epoch (zero point)
Input0
Output1970-01-01T00:00:00Z
The zero point itself. A "bogey" value that often shows up when code accidentally sets date = 0.
Milliseconds (JavaScript-style)
Input1751702400000
Output2025-07-05T08:00:00Z
`Date.now()` in JavaScript returns milliseconds. 13-digit numbers are typically ms, 10-digit are seconds.
ISO 8601
Input2026-07-05T14:30:00+02:00
Output1783263000
ISO 8601 with timezone offset is the safest way to exchange dates between systems. Always include the timezone.

Common use cases

  • Debugging log files that show timestamps in seconds or milliseconds.
  • Setting expiry on JWT tokens (`exp` field is always Unix seconds).
  • Converting `created_at`/`updated_at` values from a database into readable format.
  • Comparing two timestamps to compute duration or age.
  • Adding timestamps to URL parameters for cache busting.
  • Converting between UTC and local time without thinking about DST manually.

Frequently asked questions

Seconds or milliseconds, how do I tell?
The rule: 10 digits are seconds (typically "17…" in the 2020s), 13 digits are milliseconds ("17…000"). If the number lands millions of years in the future or past, you picked the wrong unit. The tool detects this automatically.
What is the "Year 2038 problem"?
Classic 32-bit signed Unix timestamps overflow on January 19, 2038 at 03:14:07 UTC. The number goes negative and systems think it’s 1901. Fix: use 64-bit timestamps (as modern Linux, macOS, iOS and Windows do). Check old embedded systems and databases with `int` (not `bigint`) columns.
Is a Unix timestamp always in UTC?
Yes. Unix timestamps are UTC by definition, with no timezone. That’s exactly what makes them so useful, the same timestamp means the same moment anywhere in the world. Timezone only comes in when you convert to a readable date/time.
Do Unix timestamps count leap seconds?
No. Unix time defines a day as exactly 86,400 seconds and skips leap seconds, so two Unix timestamps 60 seconds apart aren’t always exactly 60 SI seconds apart. For most apps this is fine, but critical scientific or financial systems may need TAI or PTP in addition.

Technical background

Unix timestamps were defined in the POSIX standard in the 1970s, and the "epoch" was chosen as 1970-01-01 because it was just before Unix systems started to spread. The format is technically the number of SI seconds minus the number of leap seconds added since 1972. This means each Unix day has exactly 86,400 "seconds", even though some actually have 86,401 SI seconds. Modern systems use a 64-bit signed integer, giving room for dates around 292 billion years in either direction, safely past the Y2038 problem.