Unix timestamp to ISO date

Paste a Unix timestamp to get an ISO 8601 UTC date. 10 digits are seconds (1725105600 is 2024-08-31T12:00:00Z); 13 digits are milliseconds. Units are detected by magnitude, so database timestamps and JavaScript timestamps both convert correctly. A seconds value fed to a milliseconds API lands in January 1970. Conversion stays in this tab.

Current Unix time (seconds)

Starting clock

Current Unix time (milliseconds)

Starting clock

Unix seconds

Waiting for input

Unix milliseconds

Waiting for input

ISO 8601 (UTC)

Waiting for input

Local time

Waiting for input

Relative to now

Waiting for input

Starting clockConverted on this device, nothing leaves this tab

Runs in this tab · nothing is uploaded · Verify in 10 seconds →

What this does

A 10-digit Unix timestamp is seconds (10 digits covers every date from 2001-09-09 to 2286-11-20); 13 digits is milliseconds. Paste either below, 1725105600 becomes 2024-08-31T12:00:00.000Z instantly, and the unit is detected from the magnitude, so database timestamps (seconds) and JavaScript timestamps (milliseconds) both convert correctly.

The detection rule is precise: values below 10¹² are treated as seconds and values from 10¹² up to 10¹⁵ as milliseconds (16- to 18-digit values are read as microseconds, 19 or more as nanoseconds), a boundary that classifies every timestamp between 1970 and the year 33658 correctly, because 10¹² seconds is 33,658 AD while 10¹² milliseconds is only 2001. The two misconversion signatures are equally exact: a seconds value fed to a milliseconds API lands in January 1970; the reverse lands near the year 56637.

When it goes wrong

“That timestamp is out of range.” means the number overflows JavaScript's date range (±8.64×10¹⁵ ms from the epoch) even when read as nanoseconds; that takes a value above 8.64×10²¹, at least 22 digits, so check for two values pasted together; 19-digit nanosecond timestamps are detected and converted. A result of 1970-01-something from a legitimate-looking number means you pasted seconds somewhere expecting milliseconds downstream, the converter shows both units so you can hand over the right one.

When to use this

Convert when reading logs, debugging JWT exp claims, checking database rows, anywhere a raw number needs to become a moment.

This page is a focused view of theUnix Timestamp Converter & Epoch Converter, which has the full set of options.

Frequently asked questions

How do I know if a timestamp is seconds or milliseconds?

Length: current dates are 10 digits in seconds and 13 in milliseconds. This tool treats values below 10¹² as seconds and values from 10¹² up to 10¹⁵ as milliseconds (larger values are microseconds or nanoseconds), which matches every date between 1970 and 33658.

Why does the result end in Z?

Z marks UTC in ISO 8601. Unix timestamps are timezone-less by definition (they count seconds since 1970-01-01T00:00:00 UTC), so UTC is the faithful representation.

Do Unix timestamps count leap seconds?

No. Unix time pretends every day has exactly 86,400 seconds; leap seconds are absorbed. For everyday conversion this never matters.