ÆON Toolhub

Timestamp Converter

This free timestamp converter turns a Unix epoch timestamp into a readable date in your local time, UTC, and any timezone you pick, and converts a date back. It reads seconds, milliseconds, microseconds and nanoseconds, converts whole lists at once, and gives you the code to do it in ten languages.

Current Unix time
Unit

Read as seconds · 2 years ago

LocalTuesday, November 14, 2023 at 10:13:20 PM UTC
UTCTue, 14 Nov 2023 22:13:20 GMT
ISO 86012023-11-14T22:13:20.000Z
Convert it in code
const date = new Date(1700000000000);
console.log(date.toISOString());

What is a Unix timestamp?

A Unix timestamp is the number of seconds elapsed since midnight UTC on 1 January 1970. That single number identifies an exact instant anywhere on Earth, with no timezone attached and no ambiguity about formats, which is why logs, databases and APIs lean on it so heavily.

The date 2023-11-14 means different things to different systems, and 11/12/2023 is either November or December depending on who wrote it. The timestamp 1700000000 means one thing only. That is the whole appeal: a moment in time reduced to an integer that every language can compare, sort and subtract.

Seconds, milliseconds, microseconds or nanoseconds?

Count the digits. That is genuinely how you tell them apart for any date in the current era:

DigitsUnitWhere you meet it
10secondsC, Python, PHP, Ruby, Go, most database columns
13millisecondsJavaScript Date.now(), Java, most web APIs
16microsecondsPostgreSQL, tracing and observability systems
19nanosecondsGo UnixNano(), Java Instant precision

This converter detects the unit from the digit count and tells you which one it assumed, and you can override it in one click when a value sits near a boundary. Nanosecond values are handled with exact integer arithmetic, because a 19-digit number is larger than JavaScript can hold precisely as an ordinary number, and naive tools silently round it.

Why do local time and UTC both matter?

A timestamp marks one instant, but that instant reads as a different wall clock in every timezone. Showing your local time tells you when it happened for you; UTC gives the neutral reference your servers and logs are almost certainly using.

That gap is where most date bugs live. A log line written at 23:30 UTC belongs to the next day in Tokyo and the previous evening in New York, so a report grouped "by day" silently disagrees with itself depending on where it ran. This tool also lets you pick any IANA timezone, so you can read a server timestamp exactly as the affected user saw it, daylight saving included.

What is the year 2038 problem?

Systems that store Unix time in a signed 32-bit integer run out of room at 2147483647 seconds, which lands on 19 January 2038 at 03:14:07 UTC. One second later the counter overflows and wraps around to 1901.

It is the same shape of problem as Y2K, and it is just as fixable: 64-bit time has been standard on modern operating systems and languages for years. The risk now sits with things nobody rewrites, like embedded controllers, industrial equipment, old file formats and legacy database columns that were defined as a 32-bit integer and never revisited. The track under the result on this page shows where your timestamp falls between 1970 and that limit.

Why does the epoch start in 1970?

Because it was convenient, not because anything happened that day. Early Unix engineers needed a recent, round starting point that a small counter could span, and 1 January 1970 fit when the convention was fixed in the early seventies.

Other systems picked other origins, which is a common source of confusion when data crosses between them. Windows file times count 100-nanosecond intervals from 1601, classic Mac OS counted from 1904, and spreadsheets count days from 1900 or 1904 depending on the program. If a date lands decades off from what you expect, a mismatched epoch is usually the culprit.

How do I convert a timestamp in code?

Every language ships this, but the exact call and the expected unit differ, which is where mistakes creep in. Pick your language on the page and the snippet comes out with your actual timestamp already in it, ready to paste.

The one thing worth memorising: JavaScript's new Date() expects milliseconds, while Python's fromtimestamp and Go's time.Unix expect seconds. Passing a seconds value to JavaScript gives you a date in January 1970; passing milliseconds to Python throws you thousands of years into the future. Multiply or divide by 1000 at the boundary and the problem disappears.

Can I convert a whole log at once?

Yes. Switch to Batch mode and paste a column of timestamps straight from a log file, a query result or a spreadsheet, separated by line breaks, commas or spaces. Each value has its unit detected independently, so a mixed list of seconds and milliseconds still converts correctly.

The result comes back as a table you can copy, or export as a CSV to open in a spreadsheet. Everything runs in your browser using the built-in date functions, so nothing you paste is uploaded, logged or stored, and the page keeps working offline once it has loaded.

Read the guide: What Is a Unix Timestamp?Read more →

Frequently asked questions

What is a Unix timestamp?

A Unix timestamp, also called epoch time, is the number of seconds that have passed since midnight UTC on January 1, 1970. It is a compact, timezone-free way to store a moment in time, which is why databases, logs, and APIs use it constantly. Some systems use milliseconds instead of seconds.

Seconds, milliseconds, microseconds or nanoseconds?

The tool reads the unit from how many digits your number has: ten means seconds, thirteen milliseconds, sixteen microseconds, and nineteen nanoseconds. It shows which one it assumed, and you can override it with one click when a value sits near a boundary or comes from an unusual source.

Which languages use which unit?

Seconds are the Unix convention, used by C, Python, PHP, Ruby, Go and most database columns. JavaScript and Java work in milliseconds. Go returns nanoseconds from UnixNano, Java exposes nanosecond precision on Instant, and PostgreSQL plus many tracing systems emit microseconds.

Can I convert a timestamp to a specific timezone?

Yes. Beyond your local time and UTC, you can pick any of the hundreds of IANA timezones, such as America/New_York or Asia/Tokyo, and see the same instant rendered there. It is the quickest way to work out what a server log line actually means for a user in another region.

What is the year 2038 problem?

Systems that store Unix time in a signed 32-bit integer cannot go past 2147483647 seconds, which falls on 19 January 2038 at 03:14:07 UTC. One second later the value overflows and wraps to 1901. Modern systems use 64-bit integers, but old embedded devices and legacy databases remain at risk.

Why does the epoch start in 1970?

It was a practical choice, not a meaningful one. Early Unix engineers needed a recent, round starting point that a small counter could cover, and 1 January 1970 was convenient when the convention was set in the early seventies. It stuck, and is now baked into almost every operating system.

Can I convert a whole list of timestamps at once?

Yes. Switch to Batch and paste a column straight out of a log or a spreadsheet, separated by line breaks, commas or spaces. Each value gets its unit detected on its own, so a mixed list still works, and you can copy the table or export it as a CSV file.

Do timestamps work before 1970?

Yes, as negative numbers. A value of -86400 is one day before the epoch, 31 December 1969. Not every system accepts negative epoch values, and some databases reject them outright, so treat historical dates carefully and prefer a proper date type when storing anything before 1970.

Does a Unix timestamp include leap seconds?

No. Unix time deliberately pretends every day has exactly 86,400 seconds, so a leap second is absorbed by repeating or stretching a value rather than adding one. This keeps arithmetic simple, at the cost of being a few seconds away from true astronomical time.

Is it free and private?

Yes. The converter is free with no signup and runs entirely in your browser using the built-in date and internationalisation functions. Nothing you enter is uploaded, logged, or stored, and it keeps working offline once the page has loaded, so you can convert timestamps anytime.

Last updated: September 17, 2026