Unix Time to Date Converter — Instant Free Tool

Converting Unix time to a human-readable date requires choosing a timezone. The same Unix value 1700000000 represents 2023-11-14T22:13:20 UTC, 2023-11-14T17:13:20 EST, or 2023-11-15T07:13:20 JST — three different calendar dates depending on where you are. Always carry timezone context alongside Unix values in production data. The IANA timezone database is the authoritative source for timezone identifiers used in programming languages and operating systems. Paste a Unix timestamp below to see it rendered in UTC, your local timezone, and ISO 8601 format. No server roundtrip needed — conversion is instant.

Current Unix Timestamp

1777974230

Free — No Limits, No Signup

Convert

or

Results

UTC Time
Local Time
ISO 8601
Relative Time
Unix (seconds)
Unix (milliseconds)
Day of Week
Day of Year
Week Number
Is DST

Where You Encounter Unix Time

API Responses

Twitter/X, Stripe, and GitHub all return Unix timestamps in JSON payloads. For example, a Stripe charge object includes created as a Unix timestamp, and GitHub events expose created_at in epoch seconds.

Database Columns

MySQL stores and retrieves Unix time with UNIX_TIMESTAMP() and FROM_UNIXTIME(). PostgreSQL uses EXTRACT(EPOCH FROM ...) and TO_TIMESTAMP().

Server Logs

Nginx access logs, Apache logs, and syslog entries often include Unix timestamps. Tools like awk and date -d @ are commonly used to parse and convert these values in shell scripts.

File Systems

While ls -l displays human-readable dates, the OS internally stores mtime, atime, and ctime as Unix timestamps inside each inode. The stat command reveals the raw values.

JWT Tokens

JSON Web Tokens use Unix timestamps for the exp (expiration) and iat (issued at) claims. Paste a JWT into jwt.io and you will see these decoded as epoch seconds.

Cron Jobs and Task Schedulers

Unix cron itself does not use timestamps, but task schedulers like Celery, Sidekiq, and AWS EventBridge record scheduled execution times as Unix timestamps to avoid timezone ambiguity.

Unix Time to Date — Quick Reference

TimestampUTC DateNotes
1735689600Jan 1, 2025 00:00:00 UTCStart of 2025
1751587200Jul 4, 2025 00:00:00 UTCUS Independence Day 2025
1767225600Jan 1, 2026 00:00:00 UTCStart of 2026
1798761600Dec 31, 2026 00:00:00 UTCEnd of 2026
1893456000Jan 1, 2030 00:00:00 UTCStart of 2030

Convert Unix Time in Your Stack

Frontend

JavaScript

// With timezone (EST)
new Date(1700000000 * 1000).toLocaleString('en-US', {timeZone: 'America/New_York'})
// → "11/14/2023, 5:13:20 PM"

// UTC ISO string
new Date(1700000000 * 1000).toISOString()
// → "2023-11-14T22:13:20.000Z"

Backend

Node.js

new Date(unixTime * 1000).toISOString()

Python

from datetime import datetime, timezone

# UTC datetime
datetime.fromtimestamp(1700000000, tz=timezone.utc)
# → datetime(2023, 11, 14, 22, 13, 20, tzinfo=timezone.utc)

PHP

date('Y-m-d H:i:s', $unix_time)

Java

Instant.ofEpochSecond(unixTime)

Go

time.Unix(unixTime, 0).UTC()

Database

MySQL

FROM_UNIXTIME(unix_time)

PostgreSQL

TO_TIMESTAMP(unix_time)

SQLite

datetime(unix_time, 'unixepoch')

Command Line

Linux

date -d @unix_time

macOS

date -r unix_time

Windows PowerShell

[DateTimeOffset]::FromUnixTimeSeconds(unix_time)

Seconds vs Milliseconds: How to Tell

Unix time is traditionally measured in seconds — these are 10-digit numbers (e.g. 1700000000). JavaScript's Date.now()and Java's System.currentTimeMillis() return milliseconds — 13-digit numbers (e.g. 1700000000000).

Quick rule: if the number is greater than 10000000000 (10 billion), it is almost certainly milliseconds. Count the digits: 10 digits = seconds, 13 digits = milliseconds.

// Auto-detect seconds vs milliseconds
function toDate(value: number): Date {
  // 13-digit numbers are milliseconds (> year 2001 in seconds)
  const isMilliseconds = value > 9_999_999_999;
  return new Date(isMilliseconds ? value : value * 1000);
}

// Examples
toDate(1700000000);     // seconds  → 2023-11-14
toDate(1700000000000);  // ms       → 2023-11-14

Frequently Asked Questions

How to convert Unix time to date in Excel?
In Excel, use =(A1/86400)+DATE(1970,1,1) then format the result as a date. For millisecond values, divide by 86400000 instead. In Google Sheets, =EPOCHTODATE(A1) accepts seconds directly.
How do I convert Unix time to a date?
Enter the Unix time value in the converter above. The tool automatically shows UTC date, your local time, ISO 8601, and relative time. For programmatic conversion: JavaScript: new Date(unixTime * 1000), Python: datetime.utcfromtimestamp(unixTime).
Is Unix time in seconds or milliseconds?
Unix time is traditionally in seconds (10-digit number). JavaScript's Date.now() returns milliseconds (13-digit). Count the digits to determine the unit, or use the tool's auto-detection.
What timezone is Unix time in?
Unix time has no timezone — it is an absolute offset from the UTC origin. When displaying, you convert to any timezone, but the stored integer is always UTC-relative.
How do I get the current Unix time in JavaScript?
Use Date.now() for milliseconds (divide by 1000 for seconds), or Math.floor(Date.now() / 1000) for integer seconds.
Convert millisecond Unix to date in Python?
Divide by 1000 first: datetime.fromtimestamp(ts / 1000, tz=timezone.utc). For example: datetime.fromtimestamp(1700000000000 / 1000, tz=timezone.utc) returns 2023-11-14 22:13:20+00:00. Import with from datetime import datetime, timezone.
Why does my Unix-to-date show different result than online?
The most common reason is timezone. Most converters display local time by default; others show UTC. The underlying Unix timestamp is the same — only the display timezone differs. A second cause is seconds vs milliseconds: if you get a date in 1970 or far in the future, you are passing milliseconds where seconds are expected (or vice versa).
How do I display Unix time in a different timezone?
Convert the Unix timestamp to a Date object, then use the Intl.DateTimeFormat API. For example: new Intl.DateTimeFormat('en-US', { timeZone: 'America/New_York' }).format(new Date(1700000000 * 1000)). In Python, use zoneinfo: datetime.fromtimestamp(ts, tz=ZoneInfo('America/New_York')). The underlying Unix timestamp never changes — only the display shifts.
Why does my Unix timestamp look 1000x off?
You are likely mixing seconds and milliseconds. Unix time is traditionally in seconds (10-digit, e.g. 1700000000), but JavaScript's Date.now()and Java's System.currentTimeMillis() return milliseconds (13-digit, e.g. 1700000000000). If the date appears 1000 years in the future or shows 1970, the unit is wrong. Count the digits: 10 = seconds, 13 = milliseconds.

Related Tools