An epoch converter that tells seconds from milliseconds

Epoch Converter is the reference page for this, and its tables and language snippets are genuinely useful. The failure it cannot protect you from is the one that produces a date in 1970 or a date in the year 55000, and that failure is always the same mistake.

Open the Timestamp Converter →

Epoch Converter and Softland, side by side

 Epoch ConverterSoftland
Seconds and millisecondsBoth supportedBoth, distinguished by magnitude rather than guessed at
UTC and local timeBoth shownSide by side, always - never one without the other
Reference materialExtensive tables and per-language snippetsThe conversion and the explanation of it
Batch conversionAvailableOne value at a time
Where it runsIn the pageIn the page

A factor of a thousand, and a date three decades wrong

Unix time is counted in seconds. JavaScript counts in milliseconds. Java counts in milliseconds. Postgres gives you seconds, most log formats give you milliseconds, and half the APIs in the world pick one without documenting which. Feed a millisecond value to something expecting seconds and your event lands tens of thousands of years in the future; feed seconds to something expecting milliseconds and it lands in January 1970.

Both failures are visually obvious once rendered as a date, which is exactly why converting is the fastest way to diagnose them. A ten-digit number is seconds and lands in the present; a thirteen-digit number is milliseconds. Reading the length is the whole diagnosis, and seeing the resulting date makes it unmistakable.

A timestamp has no timezone, but everyone reading it does

An epoch value is an absolute count from a fixed instant. It is not in UTC, or in your timezone, or in anyone else - it is a number, and a timezone only enters when it is rendered for a human. This is the point where two people comparing notes on the same incident start disagreeing about when it happened.

Showing UTC and local side by side makes the offset visible rather than assumed. It is the difference between reading a log line as half past two and knowing whether that was half past two where the server is, where you are, or where the customer was when they complained.

The 2038 problem is closer than it sounds

A signed 32-bit integer counting seconds runs out in January 2038, at which point it wraps to 1901. That sounds comfortably distant until you remember that any system reasoning about a date more than a decade ahead - a mortgage term, a certificate lifetime, a pension projection, an expiry field - is already computing values past the boundary today.

Anything still storing time in a 32-bit signed field needs to move to 64 bits. Most modern platforms have, but embedded systems, old database columns and file formats defined decades ago have not, and the failure is silent until the arithmetic crosses the line.

When Epoch Converter is the better choice

  • You want the code snippet for converting epoch time in a specific language, which is the thing Epoch Converter is genuinely unmatched at.
  • You need to convert a column of timestamps in one go rather than one value at a time.
  • You are working with a less common format - Windows file time, Mac absolute time, LDAP timestamps - that a general converter handles and this does not.

Frequently asked questions

Is my timestamp in seconds or milliseconds?
Count the digits. Ten digits is seconds and resolves to a date around now. Thirteen digits is milliseconds. If a converted date lands in 1970 you passed seconds to something expecting milliseconds, and if it lands thousands of years out you did the reverse.
Do Unix timestamps have a timezone?
No. A timestamp is an absolute count of seconds from a fixed instant. A timezone only applies when it is formatted for a person, which is why the same value can be displayed as two different wall clock times and both be correct.
What is the Unix epoch?
Midnight UTC on 1 January 1970. Every Unix timestamp is the number of seconds elapsed since that instant, and negative values represent times before it.
What is the year 2038 problem?
A signed 32-bit seconds counter overflows in January 2038 and wraps to 1901. Any system that reasons about dates a decade or more ahead is already producing values past that boundary, so it is a present problem rather than a future one.

Try it yourself

Convert Unix timestamps to dates and back.

Open the Timestamp Converter

Epoch Converter is a trademark of its respective owner. Softland is not affiliated with, endorsed by or sponsored by Epoch Converter. This comparison reflects how each product works rather than what either costs, because pricing and plan limits change; check Epoch Converter’s own site for its current terms.