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.
- 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 1–4 to copy a format • N for now • T for dark/light
Code snippets
const date = new Date(1785673794 * 1000);
console.log(date.toISOString()); How to use
Enter a Unix timestamp
Type a Unix timestamp in the input field (seconds or milliseconds). The date and time fields update automatically.
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.
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.