Unix Timestamp (Seconds) Converter

Convert Unix epoch seconds to/from human-readable date-time

Free Unix timestamp converter for seconds since the epoch. Convert a 10-digit Unix timestamp to an ISO-8601 UTC and local date-time, and convert any date-time back to epoch seconds. Runs entirely in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is a Unix timestamp in seconds?

It is the number of seconds elapsed since 1970-01-01T00:00:00Z (the Unix epoch), ignoring leap seconds. A typical present-day value is 10 digits long.

A Unix timestamp in seconds is the single most common way computers store a point in time: it is the count of seconds since the Unix epoch, 1970-01-01T00:00:00Z. Because it is just an integer and is independent of timezone, it is used everywhere from database columns to JWT exp claims to log files. This converter turns those bare numbers into readable dates and back again, entirely in your browser.

Where you encounter Unix timestamps in seconds

  • JWT tokens — the iat (issued at), exp (expiry), and nbf (not before) claims are all epoch seconds. Pasting an exp value here tells you when a token expires.
  • HTTP headersLast-Modified, Expires, and Date headers use a human-readable format, but many APIs return equivalent Unix timestamps in their JSON responses.
  • Database columns — Postgres bigint, MySQL INT(11), and SQLite commonly store timestamps as epoch seconds in legacy schemas. Modern schemas prefer timestamptz, but older data often needs converting.
  • Log files — syslog, nginx, and many Unix system logs record timestamps in epoch seconds for compact, sortable entries.
  • Cron and scheduling — tools like crontab and scheduled task systems sometimes reference trigger times as epoch seconds.

How it works

To decode epoch seconds, the tool multiplies the value by 1000 (JavaScript’s Date works in milliseconds) and builds a Date object:

const date = new Date(epochSeconds * 1000);
date.toISOString(); // UTC ISO-8601

To encode a date-time back to seconds, it parses the date string into a Date, takes getTime() (milliseconds), and divides by 1000, flooring to a whole second.

A present-day seconds timestamp is about 10 digits (for example 1700000000 is in November 2023). If your number is ~13 digits it is almost certainly in milliseconds — use the milliseconds converter instead, or the date will be wrong by roughly fifty years.

Digit count as a quick sanity check

Digit countLikely unitApproximate date range
9 digitsSeconds2001–2001 (low range)
10 digitsSeconds2001–2286
13 digitsMillisecondsSame range, ×1000
16 digitsMicrosecondsSame range, ×1,000,000

If a 10-digit timestamp decoded to a date decades in the future or the distant past, the unit is wrong.

Tips and notes

  • Negative timestamps are valid and represent dates before 1970.
  • Leap seconds are not represented in Unix time — the clock resets or repeats at leap second boundaries, so Unix time is a smooth linear count, not an exact physical second count.
  • The “local” output reflects your browser’s timezone; the UTC output is canonical and is what you should store or transmit.
  • Unix epoch seconds will overflow a 32-bit signed integer on January 19, 2038 at 03:14:07 UTC — the “Year 2038 problem”. Modern systems use 64-bit integers.

All conversions run locally in your browser — nothing is uploaded.