← Back to Blog

What Is a Unix Timestamp? Epoch Time Explained + Free Converter (2026)

By UtilDaily Team7 min read

A Unix timestamp (also called an epoch timestamp) is the number of seconds elapsed since January 1, 1970 at 00:00:00 UTC — a reference point known as the Unix epoch. If you've ever seen a number like 1709251200 in an API response, a database field, or a log file, you're looking at a Unix timestamp. This guide explains what these numbers mean, how to convert them online, and how to convert them in code.

What Is a Unix Timestamp?

Unix timestamps represent time as a single integer — the number of seconds since January 1, 1970 00:00:00 UTC (Coordinated Universal Time). This makes timezone math simple: a timestamp is always in UTC, so you add or subtract your local offset to display local time.

Key facts to know:

  • 10-digit timestamps (seconds): e.g., 1709251200 = March 1, 2024 00:00:00 UTC
  • 13-digit timestamps (milliseconds): e.g., 1709251200000 — same moment, higher precision
  • The Unix epoch = January 1, 1970 00:00:00 UTC (timestamp: 0)
  • Maximum 32-bit timestamp: January 19, 2038 — the Year 2038 Problem for legacy systems using signed 32-bit integers

Convert a Unix Timestamp to a Date Online

The fastest way to convert a Unix timestamp to a human-readable date is to use the Unix Timestamp Converter. Paste any timestamp, and you get the date in your local timezone instantly. It automatically detects whether your timestamp is in seconds or milliseconds based on the number of digits.

Convert Unix Timestamp to Date in JavaScript

JavaScript's Date constructor accepts millisecond timestamps:

// Convert Unix timestamp (seconds) to Date
const timestamp = 1709251200;
const date = new Date(timestamp * 1000); // Multiply by 1000 for milliseconds

console.log(date.toISOString());    // "2024-03-01T00:00:00.000Z"
console.log(date.toLocaleString()); // Local time string (timezone-aware)

// Format with Intl.DateTimeFormat
const formatter = new Intl.DateTimeFormat('en-US', {
  year: 'numeric', month: 'long', day: 'numeric',
  hour: '2-digit', minute: '2-digit', timeZoneName: 'short'
});
console.log(formatter.format(date)); // "March 1, 2024 at 12:00 AM UTC"

If your timestamp is already in milliseconds (13 digits), skip the multiplication: new Date(timestamp).

Convert Unix Timestamp to Date in Python

from datetime import datetime, timezone

# Convert seconds timestamp to UTC datetime
timestamp = 1709251200
dt = datetime.fromtimestamp(timestamp, tz=timezone.utc)
print(dt.isoformat())  # 2024-03-01T00:00:00+00:00

# Convert to local time
dt_local = datetime.fromtimestamp(timestamp)
print(dt_local)  # Local time

# Python 3.9+: Use zoneinfo for named timezones
from zoneinfo import ZoneInfo
dt_ny = datetime.fromtimestamp(timestamp, tz=ZoneInfo("America/New_York"))
print(dt_ny)  # 2024-02-29T19:00:00-05:00

# For millisecond timestamps:
ms_timestamp = 1709251200000
dt = datetime.fromtimestamp(ms_timestamp / 1000, tz=timezone.utc)

Get the Current Unix Timestamp

LanguageSecondsMilliseconds
JavaScriptMath.floor(Date.now() / 1000)Date.now()
Pythonimport time; int(time.time())int(time.time() * 1000)
Gotime.Now().Unix()time.Now().UnixMilli()
Bash/Shelldate +%sdate +%s%3N
PostgreSQLEXTRACT(EPOCH FROM NOW())::INTEXTRACT(EPOCH FROM NOW()) * 1000

Reference: Common Unix Timestamps

DateUnix Timestamp (seconds)
Unix Epoch (Jan 1, 1970 UTC)0
Y2K (Jan 1, 2000 UTC)946684800
Jan 1, 2020 UTC1577836800
Jan 1, 2024 UTC1704067200
Jan 1, 2025 UTC1735689600
Jan 1, 2026 UTC1767225600
Year 2038 Problem (32-bit max)2147483647

Seconds vs. Milliseconds: How to Tell Which Format You Have

A reliable heuristic: count the digits.

  • 10 digits = seconds (currently around 1760000000)
  • 13 digits = milliseconds (currently around 1760000000000)

JavaScript's Date.now() returns milliseconds. Python's time.time() returns seconds (as a float). Most Unix system timestamps and database timestamps use seconds.

Why "Epoch" and "Unix Timestamp" Mean the Same Thing

The terms are used interchangeably in documentation and APIs:

  • Unix timestamp — terminology used in Unix/Linux documentation
  • Epoch time or epoch timestamp — emphasizes the counting-from-a-fixed-point nature
  • POSIX time — the formal specification (IEEE Std 1003.1)

All three refer to the same value: seconds elapsed since January 1, 1970 00:00:00 UTC.

Free Unix Timestamp Converter

The Unix Timestamp Converter on UtilDaily converts any epoch timestamp to a readable date instantly. It handles both seconds and milliseconds, shows your local timezone, and displays the current Unix timestamp live. No sign-up required — runs entirely in your browser with no data uploaded.

Related Tools