JSONToonPro
Utility tool

Unix Timestamp Converter

Convert Unix timestamps (epoch time) to human readable dates and back, with a live current timestamp, UTC and local output, and millisecond support. Everything runs 100% client-side in your browser.

100% client sideInstant resultNo data sent

Current Unix time

1788347915

Timestamp to date
Date to timestamp

Accepts ISO strings and most common date formats. Leave empty to use the box above.

What Is a Unix Timestamp?

A Unix timestamp is the number of seconds that have elapsed since 1 January 1970 at 00:00:00 UTC, a moment known as the Unix epoch. It is a single integer, which makes it trivially easy to store, compare, sort, and subtract. Two timestamps subtracted give you a duration in seconds with no calendar arithmetic involved.

One detail catches people out: Unix time does not count leap seconds. When a leap second is inserted, the count effectively repeats or stretches a value rather than advancing past it. This keeps the arithmetic simple (every day is exactly 86,400 seconds) at the cost of not being a true count of elapsed physical seconds.

Seconds vs Milliseconds: the Most Common Date Bug

Different platforms count in different units, and mixing them is one of the most frequent date bugs in production code. The quickest way to tell them apart is digit count: a 10-digit value is seconds, a 13-digit value is milliseconds.

1700000000    10 digits = seconds      -> 14 Nov 2023
1700000000000 13 digits = milliseconds -> 14 Nov 2023
Feed seconds where ms are expected and you land in January 1970.
Feed ms where seconds are expected and you land tens of thousands of years ahead.

JavaScript is the usual source of the confusion. Date.now() and the Date constructor both work in milliseconds, while most Unix system calls, many database column types, JWT claims such as exp and iat, and a large share of REST APIs use seconds. When you cross that boundary, divide by 1000 and floor, or multiply by 1000, and label the variable with its unit so the next reader does not have to guess.

Reference Timestamps Worth Recognising

Memorising a few landmark values makes it easy to eyeball whether a timestamp in a log file is plausible before you convert it.

TimestampUTC dateSignificance
01 January 1970The Unix epoch, the zero point of the whole scheme
10000000009 September 2001The first billion-second mark, widely celebrated at the time
150000000014 July 2017A convenient round modern reference point
170000000014 November 2023Useful for sanity checking recent data
200000000018 May 2033The two billion mark, still comfortably in the future
214748364719 January 2038The maximum value of a signed 32-bit integer

The Year 2038 Problem

Older systems store time in a signed 32-bit integer called time_t. The largest value such an integer can hold is 2,147,483,647, which corresponds to 03:14:07 UTC on 19 January 2038. One second later the value overflows and wraps to the most negative integer, interpreted as 13 December 1901. Any code that compares, sorts, or schedules on that value will behave unpredictably.

The fix is straightforward in principle: store time in a signed 64-bit integer, which pushes the limit roughly 292 billion years out. Modern operating systems and language runtimes have largely made that move. The remaining risk sits in embedded devices, old binary file formats, database columns declared as 32-bit integers, and network protocols that pinned the field width. It is worth checking any long-lived schema now rather than in 2037.

Time Zones, and Why Timestamps Avoid a Whole Class of Bugs

A Unix timestamp is always UTC. It carries no time zone, no offset, and no daylight saving information. The zone is applied only when you render the value for a human. That property is exactly why storing timestamps beats storing local date strings: the stored value has one unambiguous meaning, and two servers in different regions will always agree on what it represents.

Store a local string such as "2024-03-10 02:30" instead and you inherit every ambiguity of the calendar. That particular moment does not exist in parts of the United States because clocks jump forward, and an hour in autumn occurs twice. Timestamps have no such gaps or repeats.

ISO 8601

When you do need a human readable form, ISO 8601 is the format to reach for. It writes the date largest unit first, so string sorting matches chronological sorting, and it makes the offset explicit.

2023-11-14T22:13:20Z      Z means UTC
2023-11-14T17:13:20-05:00  the same instant, written with an offset

Working with dates in code often means working with encodings too. Browse the full developer tools collection for JSON formatting, number base conversion, and encoding utilities that sit alongside date handling.

Frequently asked questions

4 answers
A Unix timestamp is the number of seconds that have elapsed since midnight on January 1, 1970 in Coordinated Universal Time (UTC), a moment known as the Unix epoch. It is a single integer that unambiguously identifies a point in time, independent of time zone, which is why it is used so widely in databases, log files, APIs, and programming languages.

More JSON Tools

About the Unix Timestamp Converter

Logs, databases, and APIs almost always store time as a Unix timestamp, an integer count of seconds (or milliseconds) since January 1, 1970 UTC, because a plain number is unambiguous and easy to compare. The catch is that a number like that means nothing to a human reader. This converter bridges the gap in both directions: paste a timestamp to see it as a readable date, or pick a date to get its timestamp back. It shows a live current timestamp, prints both UTC and your local time so time zones are never a guess, and auto-detects 13-digit millisecond values. Everything is computed in your browser, so nothing you enter is uploaded.