Epoch to Date

Epoch to Time Converter

Convert a Unix timestamp to readable time and date. Paste an epoch value in seconds, milliseconds, or microseconds and get ISO 8601, UTC, local time, weekday, and a relative-time hint in any IANA timezone.

Current Unix timestamp · live
1783399209
 

Convert epoch to time, date, and ISO 8601

This page is for the epoch-to-readable-time direction. Paste a Unix timestamp, choose the timezone you want to display, and the converter shows the same instant as local time, UTC, ISO 8601, weekday, and relative time. It directly covers epoch to time, convert epoch to time, convert Unix timestamp to time, epoch to date, and timestamp to date searches.

  • JavaScript: new Date(1700000000 * 1000).toISOString() → "2023-11-14T22:13:20.000Z"
  • Python: datetime.fromtimestamp(1700000000, tz=timezone.utc).isoformat()
  • PHP: gmdate('c', 1700000000)
  • Shell: date -u -d @1700000000 on Linux, or date -u -r 1700000000 on macOS

Convert Unix timestamps to readable dates

Epoch time is compact and reliable for systems, but it is hard to inspect by eye. Enter a 10-digit Unix timestamp in seconds or a 13-digit timestamp in milliseconds, choose a timezone, and read the same instant as a normal calendar date and clock time.

What the output formats mean

The converter returns several common date formats so you can copy the one your workflow needs.

  • ISO 8601 includes the local UTC offset and is the safest format for APIs and logs
  • UTC string shows the same instant in Coordinated Universal Time
  • Friendly local output is useful for humans checking schedules or debugging events
  • Relative time helps confirm whether the timestamp is in the past or future

Seconds vs milliseconds

Most backend languages use Unix seconds, while JavaScript and many browser APIs use milliseconds. The converter detects the unit from the size of the number, which prevents the common mistake of converting a modern timestamp into a date near 1970.

Debugging timestamp inputs

If a converted date looks far too old or far into the future, the timestamp unit is usually the problem. A modern Unix timestamp in seconds has 10 digits, while a modern millisecond timestamp has 13 digits. APIs sometimes label both simply as epoch time, so confirm the unit before copying values into logs, SQL queries, or test fixtures.

  • A value such as 1700000000 is seconds and should convert to a date in 2023
  • A value such as 1700000000000 is milliseconds and can be passed directly to JavaScript Date
  • If a date lands in January 1970, you probably used seconds where milliseconds were expected
  • If a date lands tens of thousands of years away, you probably multiplied milliseconds again

ISO 8601, RFC 3339, and timezone-aware output

The ISO 8601 string this converter returns is more specifically RFC 3339 — the IETF subset used by JSON APIs and modern internet protocols. A Unix timestamp is an exact instant; converting it to a wall-clock date requires choosing a timezone. Intl.DateTimeFormat is the right way to render a localized output string in JavaScript.

  • Canonical UTC form: 2024-03-15T14:30:00Z (RFC 3339 subset of ISO 8601)
  • Offset form: 2024-03-15T14:30:00+09:00 — never omit the Z or offset in machine-readable output
  • Instant vs wall-clock time: a Unix timestamp is the same moment everywhere; the wall-clock reading depends on the chosen IANA zone
  • For machine-readable output, prefer ISO 8601 / RFC 3339
  • For human-facing output in JavaScript, use Intl.DateTimeFormat for locale-aware month names, 12-hour vs 24-hour, and weekday formatting
  • In Java: Instant.toString() emits ISO 8601 directly; ZonedDateTime.toString() includes the offset
  • In Python: datetime.isoformat() with a timezone-aware datetime returns RFC 3339

Related tools and articles

Epoch to time and timestamp to date mean the same workflow

Different search phrasings describe the same operation: take a 10- or 13-digit Unix integer and return the matching calendar date and clock time. The output is shown in ISO 8601, UTC, and a timezone-aware local form, so you can copy either a machine-readable timestamp result or a human-readable time.

  • epoch to time / convert epoch to time / epoch time to date
  • convert Unix timestamp to time / convert Unix time to time
  • epoch timestamp / Unix timestamp / POSIX time_t
  • POSIX time_t and unix time_t are the same 32- or 64-bit integer this page accepts

Linux time converter, Linux timestamp converter, and ISO 8601 date format

On Linux and macOS the same conversion is built into the shell date command, though GNU date and BSD date use different flags. People search for it as "linux time converter", "linux time conversion", or "linux timestamp converter". The output formats match the ISO 8601 date format / RFC 3339 standard used by JSON APIs, HTTP headers, and modern databases.

  • Linux time converter / linux timestamp converter — epoch → date: date -u -d @1700000000
  • Linux time conversion — date → epoch: date -u -d "2023-11-14 22:13:20 UTC" +%s
  • Current epoch time on Linux: date +%s (seconds) or date +%s%3N (milliseconds)
  • ISO 8601 date format / RFC 3339: 2023-11-14T22:13:20Z (Z = UTC) or 2023-11-14T22:13:20+09:00 (offset)
  • macOS BSD date uses different flags: date -u -r 1700000000 (note -r instead of -d @)
  • GNU date(1) and BSD date(1) both document output directives such as %s for epoch seconds and %Y-%m-%d for ISO dates

More variants: epoch to datetime, unix time to datetime, unix epoch to date, datetime to milliseconds

All of the following phrasings describe the same conversion on this page: "epoch to datetime", "epoch time to datetime", "epoch to time converter", "unix time to datetime", "unix time to utc", "unix epoch to date", "convert unix time to datetime", "datetime conversions", "datetime to milliseconds", "date to milliseconds", and "iso 8601 datetime format". The output already includes ISO 8601 datetime format with UTC offset, which is the canonical machine-readable form.

  • Epoch to datetime / epoch time to datetime / epoch to time converter — paste a Unix integer, get the matching datetime
  • Unix time to datetime / convert unix time to datetime — same operation; the SQL/Python/Java "datetime" term means the same as the page UI "date" output
  • Unix time to UTC / unix time to utc — the page output already includes the same instant rendered as UTC
  • Unix epoch to date / unix epoch to date / unix date stamp — same conversion; "unix date stamp" is a colloquial synonym
  • Datetime to milliseconds / date to milliseconds — JavaScript: new Date("2024-03-15T14:30:00Z").getTime() returns the 13-digit ms timestamp
  • Datetime conversions / datetime conversions — date ↔ datetime is a no-op for the same instant; both refer to the same moment
  • ISO 8601 datetime format / iso 8601 datetime format — e.g. 2024-03-15T14:30:00+00:00 (with offset) or 2024-03-15T14:30:00Z (UTC short form)

Other names for this conversion

The same epoch-to-readable-date operation is searched many ways: timestamp to date, date from timestamp, convert timestamp to datetime, unix to datetime, date from unix timestamp, ms to date, time from epoch. They all describe the operation this page performs — paste an integer epoch value and read the calendar datetime.

  • Synonyms: timestamp to datetime, unix to datetime, epoch to datetime, ms to date
  • Reverse direction is at /date-to-epoch — paste a calendar date, get the integer
  • Common confusion: "datetime" vs "date" — for the same instant they are the same value, just rendered differently

Epoch time, human readable date, and local time zone

Every Unix timestamp is a point in time — a precise moment measured in seconds since January 1 1970 00 00 00 UTC. To turn that integer into a human readable date, you need to choose a local time zone, since the same point in time displays as different local time depending on the viewer's location. Modern operating systems (Linux, macOS, Windows, BSD) all store the wall clock internally as a Unix epoch and format it as a human readable date for display.

  • January 1 1970 00 00 00 UTC is the Unix epoch — the zero point in time from which every Unix timestamp counts
  • A human readable date depends on the chosen local time zone — same point in time, different local time
  • Modern operating systems (Linux, macOS, Windows, BSD) all store the wall clock as a Unix epoch internally and convert to local time only at display
  • Local time zone is what turns an abstract point in time into a human readable date that matches the viewer's local time

FAQ

How do I convert epoch to time?
Paste the epoch value into the converter, confirm whether it is seconds or milliseconds, and choose a timezone. The result shows the matching readable time, date, ISO 8601 value, and UTC string.
How do I convert a Unix timestamp to time?
A Unix timestamp is an epoch value. Enter the 10-digit seconds value or 13-digit millisecond value and the converter returns the calendar date and local time for the same instant.
How do I get a date from a Unix timestamp?
Paste the timestamp into the converter at the top of this page — it auto-detects seconds vs milliseconds and shows the resulting date in UTC, ISO 8601, and any timezone you choose. In code, the one-liner is new Date(seconds * 1000) in JavaScript, datetime.fromtimestamp(seconds, tz=timezone.utc) in Python, or gmdate('c', seconds) in PHP.
How do I convert a timestamp into a date in JavaScript?
new Date(1700000000 * 1000) returns a Date object — multiply seconds by 1000 first, then call .toISOString(), .toUTCString(), or Intl.DateTimeFormat for formatted output. Skip the multiplication if you already have milliseconds.
How do I convert a timestamp into a date in Python?
Use datetime.fromtimestamp(seconds, tz=timezone.utc) for a timezone-aware UTC datetime. For local time omit the tz argument; for ISO output append .isoformat().
Why does my Unix timestamp turn into a 1970 date?
A 10-digit seconds timestamp was passed to a function that expects milliseconds — usually JavaScript's new Date(). Multiply by 1000 first.
What format does the date come out in?
This page renders ISO 8601 (the canonical machine-readable form), a friendly local display, the UTC string, the weekday, and the relative time. Copy whichever matches the format your code or workflow expects.
How do I convert millis to a Unix timestamp?
Divide the millisecond value by 1000 and take the floor — Math.floor(ms / 1000) in JavaScript, ms // 1000 in Python, ms / 1000L in Java. To go the other way, multiply seconds by 1000. The converter at the top accepts both 10-digit and 13-digit inputs.
How do I convert currentTimeMillis to a date?
System.currentTimeMillis() returns epoch milliseconds. Paste it directly into the converter — it auto-detects the 13-digit unit. In code: Instant.ofEpochMilli(System.currentTimeMillis()).toString() returns an ISO 8601 string.