ZeroFee Tools

Home › Blog › Free Timestamp Converter: Unix to Date

Timestamp converter guide cover illustration

Timestamp Converter Guide: Seconds, Milliseconds, and Timezones

Every log line, database record, and API token carries a number like 1728003600, and that number is meaningless until you convert it. Unix time counts seconds since January 1, 1970, which is wonderfully compact for machines and completely unreadable for humans. Is that timestamp from last week or last decade? Without conversion, you are guessing.

The ZeroFee Tools timestamp converter translates Unix timestamps into human-readable dates and back again, with a seconds/milliseconds toggle, every result shown in both UTC and your local timezone, ISO 8601 strings, and relative descriptions like "2 days ago". A date picker runs the reverse conversion, and a "Use current time" button fills in the exact now. Times from JWT claims pair naturally with the JWT decoder, and scheduling across regions is easier with the time zone converter.

How do I convert a Unix timestamp to a date?

Paste the timestamp, choose Seconds or Milliseconds, and press Convert to date. You get the UTC time, your local time, the ISO 8601 string, and a relative description like "2 days ago", all at once. Unix time counts seconds since January 1, 1970 00:00:00 UTC (the epoch). Ten-digit numbers are seconds; thirteen-digit numbers are milliseconds, the unit JavaScript Date uses.

Paste the timestamp, choose Seconds or Milliseconds, and press Convert to date. One conversion gives you everything: the UTC time, your local time, the ISO 8601 string, and a relative description like "2 days ago". That bundle matters because a timestamp is ambiguous until you know which unit and which timezone you are looking at, and the tool answers both at once.

The unit toggle is the step people skip, then regret. Ten-digit numbers are seconds, the classic Unix time used by most backends and databases. Thirteen-digit numbers are milliseconds, the unit JavaScript's Date uses, which is why values copied from browser consoles and Date.now() are milliseconds. Set the toggle to match your number before converting; the tool cannot guess which one you mean.

The relative description is surprisingly useful for log forensics. Seeing "3 hours ago" instead of a wall of digits lets you scan a page of timestamps and immediately spot the outlier. For the reverse trip, the date picker at the bottom of the tool converts any date and time to both seconds and milliseconds, and the date difference calculator goes further when you need the days, weeks, or months between two moments instead of a single conversion.

What is the difference between seconds and milliseconds?

Unix timestamps are traditionally seconds since the epoch (10 digits today), used by most backends, databases, and JWT claims. JavaScript Date uses milliseconds (13 digits), which is why values from Date.now() and browser consoles are longer. They differ by exactly a factor of 1000, so always set the tool's toggle to match your number.

Unix time was defined in seconds: the number of seconds since the epoch, January 1, 1970 00:00:00 UTC. Everything in the Unix world, from database timestamps to JWT exp claims, follows this convention, which is why current values are ten digits long. One billion seconds passed in September 2001, and we are now well past 1.7 billion.

Milliseconds entered the picture because JavaScript's Date object stores time in milliseconds since the epoch. Date.now() returns thirteen digits, and every value you copy from a browser console, a Node.js script, or a frontend log is in milliseconds. The two units differ by exactly a factor of 1000, which is why mixing them up produces such spectacularly wrong results: reading milliseconds as seconds lands you in the year 50,000 or beyond.

The tool handles either unit; you just have to tell it which one you have. A useful habit is counting digits before pasting: ten means seconds, thirteen means milliseconds. APIs usually document their unit, but logs and database dumps often do not, so the digit count is the fastest check. When you are converting a date to a timestamp, the tool returns both forms at once, so you can paste the seconds form into a backend call and the milliseconds form into JavaScript without a second trip.

Why does my converted date look wrong?

Almost always the unit toggle: a millisecond value read as seconds lands in the year 50,000+, and seconds read as milliseconds land in 1970. Flip the toggle and convert again. If the date is merely off by hours or a day, check the timezone: the tool shows UTC and local time side by side so you can compare.

When the converted date is absurd, the unit toggle is the culprit roughly nine times out of ten. A millisecond timestamp read as seconds gives a date tens of thousands of years in the future. A seconds timestamp read as milliseconds gives a date in January 1970, usually within a minute or two of midnight. If your result is the far future or the dawn of Unix time, flip the toggle and convert again.

The second most common cause is timezone confusion. A timestamp of midnight UTC is still the previous evening in New York, which is why the tool shows both UTC and local time side by side. If an event looks like it happened on the wrong day, check the UTC column: the data is probably fine and your mental timezone math is off by a day boundary. Scheduling across zones is a separate job for the time zone converter, which handles daylight saving explicitly.

Third, check where the number came from. Negative timestamps represent dates before 1970 and are legitimate in some databases, though many tools mishandle them. Decimal timestamps carry fractional seconds and need truncating before conversion. And a value that looks like a timestamp but has eleven or twelve digits is probably not Unix time at all: it might be a database row ID or a different epoch, like the Cocoa or .NET epochs used by some platforms. When the number is not Unix time, no converter can save it; find the source system's documentation instead.

How to use the timestamp converter in 4 steps

  1. Paste the timestamp. Drop the number into the input box, or press "Use current time" for the exact now.
  2. Set the unit. Choose Seconds for 10-digit values or Milliseconds for 13-digit values.
  3. Press Convert to date. Get UTC, local time, ISO 8601, and a relative description like "2 days ago".
  4. Or go in reverse. Pick a date and time below and press Convert to timestamp for both units.

5 practical tips for timestamp work

Frequently asked questions

Is this timestamp converter free?

Yes. Convert unlimited timestamps with no account and no limits. It runs entirely in your browser, so there is nothing to install and no data ever leaves your device at all.

What is the difference between seconds and milliseconds?

Unix timestamps are traditionally seconds since the epoch (10 digits today). JavaScript Date uses milliseconds (13 digits). This tool converts either: just set the toggle to match your number first.

Why does the date look wrong?

Almost always the unit toggle: a millisecond value read as seconds lands in the year 50,000+, and seconds read as milliseconds land in 1970. Flip the toggle and convert again.

What timezone are results shown in?

Both. Every conversion shows the UTC time and your browser's local time, plus the ISO 8601 string, so there is never any ambiguity about which moment you are looking at.

Is my data uploaded anywhere?

No. All conversion happens locally in your browser. Nothing is sent to a server, which makes the tool safe for production timestamps, log data, and sensitive records of any kind.

Ready to try it yourself? It's free, no signup required.

Try the free Timestamp Converter →