epochkit

Unix Timestamp Converter

This Unix timestamp converter turns an epoch value into a human-readable date and converts any date back to Unix time. It accepts both 10-digit second and 13-digit millisecond timestamps, outputs ISO 8601 and relative formats, flags values past the 32-bit limit of January 19, 2038, and generates copy-ready code in nine programming languages.

Unit
or set date & time
Unix (seconds)
1785673794
10-digit, seconds since epoch
Unix (milliseconds)
1785673794000
13-digit, milliseconds since epoch
ISO 8601
2026-08-02T12:29:54+00:00
with UTC offset
Relative
less than a minute ago
from now

Press 14 to copy a format • N for now • T for dark/light

Code snippets

JavaScript
const date = new Date(1785673794 * 1000);
console.log(date.toISOString());

How to use

1

Enter a Unix timestamp

Type a Unix timestamp in the input field (seconds or milliseconds). The date and time fields update automatically.

2

Or pick a date and time

Use the date, time, and timezone inputs. The Unix timestamp updates in real time as you change any field.

3

Copy the format you need

Click any output card to copy the value, or switch to a language tab to copy a ready-to-run code snippet.

How this converter reads timestamps

A Unix timestamp is an integer count of seconds elapsed since January 1, 1970, 00:00:00 UTC — the Unix epoch — and this converter translates that integer into a human-readable date in any IANA timezone, or turns a chosen date back into its epoch value. For the history of the format and why 1970 became the reference point, read the full guide: what is a Unix timestamp. What matters on this page is interpretation. The unit toggle tells the converter whether to read your input as seconds or milliseconds: a 10-digit value such as 1746785400 is seconds, while a 13-digit value such as 1746785400000 is milliseconds, and mixing the two is the most common source of dates that render as 1970 or the year 57000. Every edit updates four outputs at once — Unix seconds, Unix milliseconds, an ISO 8601 string in the selected timezone, and a relative time — so you can copy the exact representation your API, database, or log pipeline expects.

Digit count identifies the precision

Digit count is the fastest way to identify the precision of an unfamiliar value. For timestamps in the current era, the three common precisions look like this:

Precision Digits Example
Seconds 10 1746785400
Milliseconds 13 1746785400000
Microseconds 16 1746785400000000

This converter accepts seconds and milliseconds directly. For a 16-digit microsecond value, divide by 1,000,000 to get seconds before pasting.

Built-in Year 2038 detection

The Year 2038 detection built into this page exists because 32-bit systems store Unix time as a signed integer with a hard ceiling of 2,147,483,647 — reached on January 19, 2038 at 03:14:07 UTC. One second later the counter overflows to a negative number and date arithmetic silently breaks. Whenever the timestamp you enter exceeds that limit, the converter shows a warning above the output cards so you can check whether a 32-bit consumer — an embedded device, a legacy C service using time_t, an INT column in an older database schema — sits anywhere downstream of the value. Modern 64-bit platforms are unaffected; a signed 64-bit counter covers roughly 292 billion years in either direction. The code snippet panels on this page stay in sync with the timestamp you enter, so you can reproduce the same instant in JavaScript, TypeScript, Python, Go, Rust, Swift, Java, PHP, or Ruby.

Frequently asked questions

What is a Unix timestamp?

A Unix timestamp is the number of seconds (or milliseconds) that have elapsed since January 1, 1970 at 00:00:00 UTC — a moment known as the Unix epoch. It is the universal time representation used by operating systems, databases, and APIs across every programming language and platform.

How is Unix time different from UTC?

UTC is a time standard with timezones and human-readable formatting. Unix time is a single integer that always counts from the same epoch in the same unit. Converting between them is straightforward: divide by 1000 (if in milliseconds) to get seconds, then apply a timezone offset to display a human-readable time.

Why does my timestamp have 13 digits?

A 13-digit timestamp is in milliseconds. JavaScript's Date.now() and many APIs return milliseconds by default. A 10-digit timestamp is in seconds, which is what Unix systems traditionally use. Divide by 1000 to convert milliseconds to seconds.

What is the Year 2038 problem?

Many older systems store Unix timestamps as a 32-bit signed integer, which can hold values up to 2,147,483,647 — corresponding to January 19, 2038 at 03:14:07 UTC. After that point, the value overflows to a large negative number, causing date calculations to fail. Modern 64-bit systems are not affected.

How do I get the current Unix timestamp in my language?

Use the code snippet section on this page. In JavaScript: Math.floor(Date.now() / 1000). In Python: import time; int(time.time()). In Go: time.Now().Unix(). Every major language has a built-in way to get the current Unix timestamp in one or two lines.

Learn more

Other tools you might find useful