Live100% Client-Side

Unix Timestamp Converter

Convert epoch seconds or milliseconds to UTC/local dates and back again.

Convert Unix timestamps to ISO 8601, UTC, browser-local time, and relative time, or convert local/offset date strings back to epoch seconds and milliseconds.

Workbench

Use Unix Timestamp Converter

Ctrl/⌘ + Enter to convert
Current Unix Epoch
Seconds1791231837
Milliseconds1791231837866
Milestones:
Epoch Input

Enter Unix Timestamp

Detected: Seconds

Supports 10-digit seconds, 13-digit milliseconds, fractional decimals, and negative pre-1970 timestamps.

UTC Reference

Coordinated Universal Time (UTC)

Mon, 02 Feb 2026 02:40:00 GMT
ISO 8601:2026-02-02T02:40:00.000Z
Browser Local Time

Local Timezone (UTC)

Mon, Feb 02, 2026, 02:40:00 UTC
Local ISO:2026-02-02T02:40:00+00:00
Seconds
177000000010-digit standard unix
Milliseconds
177000000000013-digit JS Date.now()
Relative Delta
8 months agofrom current moment
Calendar Details
Monday • Day 33
Common Year (365 days)
Ready. Converted 1770000000 epoch seconds.
Ctrl / ⌘ + Enter to convert
What it does

Built for the task, not the page view

  • Live current epoch ticker in seconds and milliseconds
  • Explicit seconds/milliseconds modes plus documented magnitude-based auto detection
  • UTC and browser-local time shown together with date-specific UTC offset
  • Date-to-epoch conversion with local semantics when no offset is supplied
  • Relative-time and Year-2038 boundary diagnostics
Inputs & outputs
Accepts
Unix EpochLocal or Offset Date/Time
Produces
Epoch SecondsEpoch MillisecondsUTCISO 8601Local TimeRelative Time
Reference

Use it correctly

Bidirectional Epoch & Calendar Conversion

Convert Unix epoch timestamps in seconds or milliseconds directly into synchronized UTC and local calendar dates, or convert local date-time strings into accurate epoch seconds and milliseconds.

Seconds vs. Milliseconds Auto-Detection

Auto mode uses a deterministic magnitude heuristic rather than digit count: values below 100 billion in absolute magnitude are interpreted as seconds and larger values as milliseconds. Because very large values can be valid under either unit, use the explicit Seconds or Milliseconds selector when working with far-future or unusual timestamps.

UTC & Browser Local Time Semantics

UTC and your browser’s local time zone are computed and displayed simultaneously. When converting from a date to an epoch timestamp, inputs without an explicit UTC designator (Z or timezone offset) are interpreted according to your local browser environment.

The Year 2038 Problem (Y2038)

On January 19, 2038 at 03:14:07 UTC, signed 32-bit integers reach their maximum capacity of 2,147,483,647 seconds. The engine flags this boundary and verifies compatibility with modern 64-bit timestamps.

POSIX Time & Leap-Second Omission

POSIX time is defined relative to the Unix epoch at 00:00:00 UTC on January 1, 1970 and does not represent leap seconds as distinct timestamp values. Civil UTC can include leap-second adjustments, while POSIX timestamps remain a continuous count under their own rules; operating systems may handle the clock adjustment in different ways.

Client-Side Privacy Guarantee

All timestamp conversions run entirely on your device using native browser ECMAScript Date and Intl APIs. Input values processed locally; analytics only fixed UI event identifiers.

Milestone Epoch Timestamps

Throughout computer history, key Unix timestamp milestones have marked major computational benchmarks and system transitions:

MilestoneEpoch SecondsUTC Date & TimeSignificance
Epoch Origin0Jan 1, 1970 00:00:00 UTCThe baseline zero-point for all Unix time computations.
One Billion Seconds1,000,000,000Sep 9, 2001 01:46:40 UTCFirst 10-digit decimal epoch rollover celebrated worldwide.
1234567890 Day1,234,567,890Feb 13, 2009 23:31:30 UTCFamous sequential decimal digit alignment milestone.
Two Billion Seconds2,000,000,000May 18, 2033 03:33:20 UTCNext major round decimal epoch celebration.
Year 2038 Bug Limit2,147,483,647Jan 19, 2038 03:14:07 UTCUpper limit of 32-bit signed integer time (INT32_MAX).

Seconds vs. Milliseconds & The Year 2038 Bug

A frequent source of software bugs is conflating epoch seconds with epochmilliseconds, or neglecting integer overflow thresholds:

  • 10 Digits vs. 13 Digits: Standard POSIX/C timestamps use seconds (10 decimal digits in the contemporary era, e.g. 1,770,000,000). High-level runtimes like JavaScript (Date.now()) and Java (System.currentTimeMillis()) return milliseconds (13 decimal digits, e.g. 1,770,000,000,000). Treating a millisecond timestamp as seconds places the date hundreds of thousands of years in the future.
  • 32-Bit Signed Integer Overflow: Traditional C/C++ runtimes allocate a signed 32-bit integer for time_t. The maximum positive value is 2^31 - 1 = 2,147,483,647. OnTuesday, January 19, 2038 at 03:14:07 UTC, incrementing by one second causes an arithmetic overflow to -2,147,483,648, wrapping the calendar back to December 13, 1901.
  • Modern 64-Bit Resolution: Modern 64-bit operating systems, databases, and programming languages use 64-bit signed integers (time64_t), which can safely represent dates over 292 billion years into the future.
  • Daylight Saving Time (DST) Nuances: Unix time itself is continuous, linear, and strictly independent of timezones or Daylight Saving Time adjustments. When local clocks spring forward or fall back, the underlying Unix epoch count continues unchanged; only the localized presentation string shifts.

POSIX Time & Technical Specifications

POSIX time is specified by IEEE Std 1003.1 / The Open Group relative to the Unix epoch (1970-01-01T00:00:00Z UTC). Its timestamp model does not assign a distinct representable timestamp to an inserted leap second:

  • Leap Second Omission: POSIX timestamps treat ordinary days as 86,400 secondsand do not provide a unique timestamp value for the inserted leap second itself. How a system clock reconciles UTC leap-second adjustments—such as stepping, repeating a displayed second, or smearing—is implementation-specific. Therefore POSIX timestamp differences should not be interpreted as a perfect count of physical SI seconds across leap-second boundaries.

Retrieving Current Epoch in Major Languages

JavaScript / TypeScript
// Epoch seconds
const sec = Math.floor(Date.now() / 1000);

// Epoch milliseconds
const ms = Date.now();
Python
import time

# Epoch seconds
sec = int(time.time())

# Epoch milliseconds
ms = int(time.time() * 1000)
Go
import "time"

// Epoch seconds
sec := time.Now().Unix()

// Epoch milliseconds
ms := time.Now().UnixMilli()
SQL (PostgreSQL / MySQL)
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::BIGINT;

-- MySQL
SELECT UNIX_TIMESTAMP();

Time Resolution Precision Comparison

UnitScale (Seconds)Typical Digit Count (2026)Common Ecosystem Usage
Seconds (s)1 s (10⁰)10 digitsPOSIX, Linux kernels, Python, SQL, REST APIs
Milliseconds (ms)0.001 s (10⁻³)13 digitsJavaScript (Date), Java, Android, Kafka
Microseconds (µs)0.000001 s (10⁻⁶)16 digitsHigh-resolution logging, C++ std::chrono
Nanoseconds (ns)10⁻⁹ s19 digitsGo (UnixNano()), CPU profiling, distributed tracing

Client-Side Calculation Guarantee

Calculators and converters on EveryTools prioritize performance, privacy, and zero latency:

  • Zero Network Latency: All conversions execute in single-digit milliseconds directly in your browser tab using native ECMAScript date calculations.
  • Native Browser API Execution: All string parsing, arithmetic, and timezone formatting use the native Date and Intl.DateTimeFormat engines built into your browser.
  • Local Processing Policy: Input values processed locally; analytics only fixed UI event identifiers. No timestamp, date string, or document metadata is transmitted to EveryTools servers.

Unix Timestamp FAQ

Why does Unix time start on January 1, 1970?

The January 1, 1970 epoch was chosen by Unix creators Ken Thompson and Dennis Ritchie at Bell Labs during the early 1970s. Earlier PDP-7 implementations used a 60 Hz system clock with 1/60th second ticks, but this overflowed rapidly. When redesigning the time system for the PDP-11, they redefined time as whole seconds elapsed since the beginning of 1970 UTC as a clean, round historical origin point.

How do daylight saving time transitions affect Unix timestamps?

Unix timestamps are entirely unaffected by daylight saving time. Because the epoch is anchored to Coordinated Universal Time (UTC), which never shifts for seasonal daylight saving, a Unix timestamp increments at a steady rate. Local timezone shifts merely alter how that continuous integer is rendered as calendar hours on human wall clocks.

How are leap seconds handled in Unix time?

POSIX timestamps do not assign a distinct timestamp value to an inserted leap second. The operating system or time service decides how to reconcile the civil UTC adjustment; approaches can include a clock step, a repeated displayed second, or a smear over a longer interval. That behavior is implementation-specific, so this converter follows JavaScript Date/POSIX-style timestamp semantics rather than modelling leap seconds directly.

Can Unix timestamps be negative?

Yes. Negative Unix timestamps represent dates and times before January 1, 1970 00:00:00 UTC. For example,-86400 represents December 31, 1969 00:00:00 UTC. In modern 64-bit systems, negative timestamps can accurately represent astronomical and historical dates billions of years in the past.