Unix Timestamp Converter

Paste one epoch timestamp or a whole column of them and see the UTC date, the time in your chosen zone, a readable form and how long ago it was. Conversion happens on your device.

Unix timestamp → ISO 8601

Input

Settings

History

Load from URL

Reading epoch times from logs and databases

Unix time counts the seconds since 1970-01-01 00:00:00 UTC, and it turns up everywhere: database columns, JWT exp and iat claims, Kafka offsets, log lines, API responses and file metadata. A raw number like 1789475200 says nothing to a human, so you convert it to check when a token expires, line up events from two systems, or debug an off-by-one-hour bug.

Seconds, milliseconds, microseconds or nanoseconds

Different systems count in different units: Unix tools and most databases use seconds, JavaScript’s Date.now() and Java use milliseconds, Python’s time.time_ns() and Go’s UnixNano use nanoseconds, and some tracing systems use microseconds. The unit is detected from the size of the integer part:

  • below 100,000,000,000 → seconds (covers dates up to the year 5138),
  • below 10^14 → milliseconds,
  • below 10^17 → microseconds,
  • anything larger → nanoseconds.

The detected unit is printed next to each value, so you can spot a wrong guess immediately. The one ambiguity: a millisecond timestamp from before March 1973 is small enough to look like seconds.

Decimals are accepted (1789475200.5 is half a second later), negative values count back from 1970 (-14182940 is the Apollo 11 landing), and every digit is kept down to the nanosecond. Digits finer than that are dropped with a warning.

Time zone

UTC is always shown. The Time zone option adds a second line with the same instant in another zone: type an IANA name such as Asia/Singapore, America/New_York or Europe/Berlin, or local to use this device’s zone. The default is UTC.

Offsets come from the time-zone database built into your browser, including daylight saving time and historical changes. Converting -14182940 with Asia/Singapore shows +07:30, the offset Singapore actually used in 1969, not today’s +08:00. Output does not depend on your computer’s zone unless you pick local.

What each result shows

For every timestamp you get:

  • UTC in ISO 8601 with a Z suffix, e.g. 2026-09-15T12:26:40.000Z, with extra digits when the input had microseconds or nanoseconds.
  • The chosen zone in ISO 8601 with its numeric offset (when the zone is not UTC).
  • A readable line such as Tuesday, 15 September 2026, 20:26:40 GMT+8.
  • A relative description such as 3 years ago or in 2 hours.

With a single timestamp, an info panel also lists the value in seconds and milliseconds, handy for converting between units.

Many timestamps at once

Paste a column copied from a spreadsheet or a log: values can be separated by line breaks, spaces, commas or semicolons, and text after # on a line is ignored, so you can annotate values. Anything that is not a number is reported with its line and column while the rest still convert. The reverse direction is the date to Unix timestamp converter. No timestamp leaves your browser.

Examples

Mixed units

The same instant written in seconds, milliseconds, microseconds and nanoseconds; each unit is detected and the extra precision appears in the ISO output.

Input
1789475200
1789475200123
1789475200123456
1789475200123456789
Output
1789475200 (seconds)
  UTC       2026-09-15T12:26:40.000Z
  Readable  Tuesday, 15 September 2026, 12:26:40 GMT
  Relative  21 days ago

1789475200123 (milliseconds)
  UTC       2026-09-15T12:26:40.123Z
  Readable  Tuesday, 15 September 2026, 12:26:40 GMT
  Relative  21 days ago

1789475200123456 (microseconds)
  UTC       2026-09-15T12:26:40.123456Z
  Readable  Tuesday, 15 September 2026, 12:26:40 GMT
  Relative  21 days ago

1789475200123456789 (nanoseconds)
  UTC       2026-09-15T12:26:40.123456789Z
  Readable  Tuesday, 15 September 2026, 12:26:40 GMT
  Relative  21 days ago
Open this example in the tool

Historical date in Singapore time

A negative timestamp before 1970, shown with the +07:30 offset Singapore used at the time; the comment after # is ignored.

Input
-14182940  # Apollo 11 landing
Output
-14182940 (seconds)
  UTC             1969-07-20T20:17:40.000Z
  Asia/Singapore  1969-07-21T03:47:40+07:30
  Readable        Monday, 21 July 1969, 03:47:40 GMT+7:30
  Relative        57 years ago
Open this example in the tool

JWT claims in New York time

Two comma-separated claims from a token convert one hour apart, with the daylight-saving offset applied; the label after # is ignored.

Input
1789475200, 1789478800  # iat, exp
Output
1789475200 (seconds)
  UTC               2026-09-15T12:26:40.000Z
  America/New_York  2026-09-15T08:26:40-04:00
  Readable          Tuesday, 15 September 2026, 08:26:40 GMT-4
  Relative          21 days ago

1789478800 (seconds)
  UTC               2026-09-15T13:26:40.000Z
  America/New_York  2026-09-15T09:26:40-04:00
  Readable          Tuesday, 15 September 2026, 09:26:40 GMT-4
  Relative          20 days ago
Open this example in the tool

Common errors and how to fix them

ErrorCauseFix
"2026-09-14" is not a Unix timestampThe input is a date string, not a number of seconds since 1970.Use the date to Unix timestamp converter for dates; this page expects numbers.
Unknown time zone "EST5"The Time zone option is not a valid IANA zone name.Use a name such as America/New_York, Europe/London or UTC, or “local” for your device’s zone.
This timestamp is outside the supported range (about ±275,760 years from 1970)The number is too large for any calendar date, often several timestamps concatenated without a separator.Separate the values with spaces or line breaks and check for extra digits.
Digits finer than a nanosecond were droppedA warning: the decimal part has more digits than nanosecond precision allows.Nothing to do unless you expected a different unit.

Frequently asked questions

How does it know whether my timestamp is in seconds or milliseconds?

From its magnitude: values below 10^11 are seconds, below 10^14 milliseconds, below 10^17 microseconds, and larger ones nanoseconds. The detected unit is shown next to each result.

Does Unix time include leap seconds?

No. Unix time assumes every day has exactly 86,400 seconds, so leap seconds are not counted and never appear in the output.

Can I convert negative timestamps?

Yes. Negative values are instants before 1 January 1970 and are converted with the correct historical offsets.

What does "local" do in the Time zone box?

It uses the time zone your browser reports for this device. Any other value must be an IANA name such as Asia/Tokyo.

Is anything sent to a server?

No. Unit detection, zone maths and formatting all run in your browser.

Related tools