RevealTheme logo

Unix Timestamp Converter

Convert a Unix timestamp (in seconds) to a UTC date and back, with two linked fields that update each other as you type.

How to use this tool

  1. 1

    Type or paste a Unix timestamp in seconds into the top field — the bottom field updates to the matching UTC date.

  2. 2

    Or type a date into the bottom field — the top field updates to the matching Unix timestamp in seconds.

  3. 3

    Click 'Now' to fill both fields with the current moment.

  4. 4

    Select and copy the value you need from either field.

What is a Unix timestamp, and what exactly does this converter do?

A Unix timestamp (also called epoch or POSIX time) is a single integer counting the seconds elapsed since January 1, 1970 at 00:00:00 UTC — the 'Unix epoch'. Because it is one timezone-agnostic number, it is easy to store, compare, and do arithmetic on, which is why databases, log files, JWT 'exp'/'iat' claims, and most APIs use it internally. Be aware of a common pitfall: classic Unix time is in seconds (a 10-digit number today), but JavaScript's Date.now() and Java's System.currentTimeMillis() return milliseconds (13 digits). This tool treats the timestamp field strictly as seconds — it multiplies your input by 1000 internally, so pasting a 13-digit millisecond value yields a date thousands of years in the future. Divide milliseconds by 1000 first. The date output is always rendered in UTC using JavaScript's toISOString(), producing strict ISO 8601 ending in 'Z' (for example, 2025-12-31T23:59:59.000Z); it never shows your local timezone. The reverse direction is more lenient: when you type into the date field it calls the browser's Date parser, which accepts ISO 8601 but also other engine-dependent formats like '2025/01/01' or RFC 2822 strings, so results for non-ISO input can vary between browsers. For predictable behavior, stick to ISO 8601.

Common use cases

  • Convert an 'exp' or 'iat' value you have already pulled out of a JWT into a readable UTC date to check expiry.

  • Turn an epoch-seconds column from a database or log line into an ISO 8601 UTC date you can read.

  • Generate a current Unix timestamp with the 'Now' button to hardcode into a test fixture or config.

  • Sanity-check a timestamp returned by an API by seeing the UTC date it maps to.

  • Confirm whether a suspicious value is seconds or milliseconds by watching whether the resulting date looks plausible.

  • Compute a future or past instant by editing the seconds value and reading the resulting UTC date.

Frequently asked questions

Does the timestamp field accept milliseconds?
No. It interprets your input strictly as seconds and multiplies by 1000 internally. If you paste a 13-digit millisecond value (like a JavaScript Date.now() result), you will get a date thousands of years in the future. Divide the milliseconds by 1000 before pasting.
What timezone does the date output use?
Always UTC. The converter uses JavaScript's toISOString(), which produces strict ISO 8601 ending in 'Z' (for example, 2025-12-31T23:59:59.000Z). It does not display your local timezone. To see the instant in a local zone, format the timestamp in your own code, e.g. new Date(ts*1000).toLocaleString('en-US', { timeZone: 'America/New_York' }).
Which date formats can I type into the date field?
It passes your text to the browser's built-in Date parser. ISO 8601 (2025-12-31T23:59:59Z) is parsed consistently. Other formats such as '2025/01/01' or RFC 2822 strings may also work but are engine-dependent and can differ between browsers, so prefer ISO 8601 for reliable results.
Is my data sent anywhere?
No. Everything runs in your browser using the native Date object — there is no network request and nothing you type is uploaded or stored. You can use it offline.
Why does the converter use 1970 as its starting point?
It is the Unix epoch, a convention from early Unix systems at Bell Labs. The original 32-bit signed counter overflows at 03:14:07 UTC on January 19, 2038 (the 'Year 2038 problem'); modern 64-bit systems push that far beyond any practical concern. This tool relies on JavaScript numbers, so it is not limited by the 32-bit boundary.
Can I enter a negative or pre-1970 timestamp?
Yes. A negative number of seconds represents an instant before the epoch — for example, -1000000000 maps to roughly April 1938. The browser's Date object handles these, so the converter shows the corresponding pre-1970 UTC date.
How are leap seconds handled?
They are ignored, as in standard Unix time: every day is treated as exactly 86,400 seconds. This is invisible for everyday use. For high-precision needs such as GPS or financial timestamps, rely on a system that tracks leap seconds or TAI instead.

Related tools