Unix Timestamp Converter

Convert epoch time to dates and back.

Runs locallyYour input is processed in this tab. The editor blocks outgoing network requests.

The Unix Timestamp Converter turns epoch time into readable dates and dates back into epoch seconds or milliseconds. It detects seconds, milliseconds, microseconds and nanoseconds from the digit count, and shows UTC, your local zone, ISO 8601 and relative time together. Everything runs in your browser — nothing is uploaded.

How to convert a Unix timestamp to a date

  1. Paste an epoch value such as 1790409600 into the main field. The current Unix time is shown in a live ticker at the top of the page, and the field starts pre-filled with it.
  2. Check the detected unit. A 10-digit value is read as seconds, 13 digits as milliseconds, 16 as microseconds and 19 as nanoseconds; override the unit if your value is unusual.
  3. Copy the UTC, local or ISO 8601 line you need, or use Format this date to open the same instant in the Date Formatter. To go the other way — date to timestamp — type a date in the second panel.

Examples

All examples below use a fixed instant, so they read the same whenever you open this page. Relative time is left out because it depends on the moment you look.

Seconds (10 digits)

The usual form, used by Unix tools, PHP time(), Python time.time() and most databases. Time zone shown: UTC.

Text
1790409600

Result:

Text
Unit:     seconds
UTC:      Sat, 26 Sep 2026 08:00:00 UTC
Local:    Sat, 26 Sep 2026 08:00:00 UTC (+00:00)
ISO 8601: 2026-09-26T08:00:00.000Z

Milliseconds (13 digits), shown in India Standard Time

JavaScript Date.now(), Java System.currentTimeMillis() and most JSON APIs use milliseconds. Time zone chosen: Asia/Kolkata.

Text
1790409600000

Result:

Text
Unit:     milliseconds
UTC:      Sat, 26 Sep 2026 08:00:00 UTC
Local:    Sat, 26 Sep 2026 13:30:00 Asia/Kolkata (+05:30)
ISO 8601: 2026-09-26T08:00:00.000Z

Nanoseconds (19 digits)

Go's UnixNano(), Prometheus and many tracing systems emit nanoseconds. The converter keeps every digit with integer arithmetic and shows all four units side by side.

Unit Value
Input 1790409600123456789
Seconds 1790409600
Milliseconds 1790409600123
Microseconds 1790409600123456
Nanoseconds 1790409600123456789
ISO 8601 2026-09-26T08:00:00.123Z

Date to timestamp

Typed into the date panel, 2026-09-26T08:00:00Z (an explicit UTC time) converts back:

Text
Seconds:      1790409600
Milliseconds: 1790409600000
ISO 8601:     2026-09-26T08:00:00.000Z

Options explained

The converter is a form rather than an editor, so it has no settings drawer. These are the controls on the page:

  • Timestamp field — accepts digits with an optional minus sign or decimal part; commas, underscores and spaces used as separators are ignored, so 1,790,409,600 works. The unit is detected from the digits before the decimal point, so 1790409600.5 is read as seconds plus half a second.
  • Unit — Auto (by digit count), seconds, milliseconds, microseconds or nanoseconds. Set it by hand when a value sits on a boundary, such as an early-1970s millisecond value with fewer than 12 digits.
  • Time zone — a searchable list of IANA zones, defaulting to your browser's zone, with deprecated names such as Asia/Calcutta listed under their current name, Asia/Kolkata. It only changes the "Local" line; UTC and ISO 8601 describe the same instant regardless.
  • Current Unix time ticker — the live epoch in seconds, which you can pause.
  • Date to timestamp panel — accepts ISO 8601, RFC 2822, SQL DATETIME and forms like 26 Sep 2026 14:05. A date without an offset is read in the selected time zone.

Troubleshooting timestamp conversions

The date lands in 1970

You passed seconds to something that expects milliseconds. 1790409600 read as milliseconds is 21 January 1970. Multiply by 1,000, or in JavaScript write new Date(seconds * 1000).

The date lands tens of thousands of years in the future

The reverse mistake: a millisecond value read as seconds. The converter flags any result outside 1900–2100 with "This timestamp is outside 1900–2100 — check the unit". Divide by 1,000, or set the unit to milliseconds.

The local time is off by a few hours

A Unix timestamp has no time zone — it is always seconds since 1970-01-01 00:00 UTC. Only its display has a zone. Pick the zone you expected in the Time zone list and compare the UTC line, which never shifts.

A converted date is off by exactly your UTC offset

When you convert a date to a timestamp, a value like 2026-09-26 14:05 has no offset, so it is read in the selected zone. Add Z or an offset such as +05:30 to pin it.

Values stop at 2038 in another system

A signed 32-bit integer can hold seconds only up to 2147483647, which is Tue, 19 Jan 2038 03:14:07 UTC. The converter handles larger values; if your database column or C time_t is 32-bit, move it to a 64-bit type.

FAQ

What is a Unix timestamp?

A Unix timestamp, or epoch time, is the number of seconds that have passed since 00:00:00 UTC on 1 January 1970, not counting leap seconds. It is a single integer, so it sorts, compares and stores cleanly, and it means the same instant everywhere. Time zones only matter when you turn it back into a calendar date for display. Unix timestamps explained covers the details.

How do I tell seconds from milliseconds?

Count the digits. Present-day timestamps are 10 digits in seconds and 13 in milliseconds; microseconds have 16 and nanoseconds 19. The converter applies exactly this rule, and warns when the result falls outside 1900–2100, which almost always means the unit is wrong rather than the value.

How do I get the current timestamp in code?

In JavaScript, Math.floor(Date.now() / 1000) gives seconds and Date.now() gives milliseconds. Python uses int(time.time()), Java Instant.now().getEpochSecond(), Go time.Now().Unix(), and a shell date +%s. PostgreSQL has extract(epoch from now()) and MySQL UNIX_TIMESTAMP(). The ticker at the top of this page shows the same number live.

What happens in 2038?

On 19 January 2038 at 03:14:07 UTC, the seconds count passes 2,147,483,647, the largest value a signed 32-bit integer can hold. Systems that store time in 32 bits wrap to a negative number and read the date as December 1901. Modern operating systems and languages use 64-bit time, but old databases, file formats and embedded devices can still be affected.

Can a Unix timestamp be negative?

Yes. Negative values count backwards from 1970, so -86400 is Wed, 31 Dec 1969 00:00:00 UTC. The converter accepts them without a warning as long as the result is after 1900; only dates outside 1900–2100 get the out-of-range notice. Some languages and databases reject negative epochs, so check before storing them.

Does the converter handle leap seconds?

Unix time ignores leap seconds: every day is exactly 86,400 seconds, so a leap second repeats or smears an existing value. The converter follows the same convention as every mainstream language, which means its results match what your code produces. If you need TAI or GPS time, apply the published offset separately.

Is anything I paste sent to a server?

No. Conversion uses the browser's own date and time zone data inside an isolated frame that blocks network requests. Your settings are remembered on this device, but the values you type are not stored unless you turn on "Remember my last input".

To show the instant in a specific pattern such as dd-MM-yyyy, open the Date Formatter. To see one time across several cities, use the Time Zone Converter; for "3 days ago" wording in another language, the Relative Time Formatter. All date and number tools are listed under Date & Number.

Browse all Date, Time & Number Formatting

Guides