What is the current Unix timestamp? The live unix clock above reads directly from your device. Use the epoch converter below to translate between timestamps and human-readable dates, or explore code examples for every major language.
Current Unix Timestamp
Thu, 02 Apr 2026 03:27:05 GMT
Time in UTC: 03:27:05 AM Thursday, April 2, 2026
| Date | Format |
|---|---|
| 04/02/2026 @ 03:27:05 | UTC |
| 2026-04-02T03:27:05+00:00 | ISO 8601 |
| Thu, 02 Apr 2026 03:27:05 GMT | RFC 2822 |
| 2026-04-02T03:27:05+00:00 | RFC 3339 |
Written by Ishan Karunaratne · Last reviewed:
Unix time (also called epoch time, POSIX time, or Unix timestamp) is a system for tracking time as a running count of seconds. The counter starts at zero on January 1, 1970 at 00:00:00 UTC — a moment known as the Unix epoch. Right now, that counter is somewhere around 1.77 billion and climbing by one every second.
Unlike human date formats that vary by locale, language, and calendar system, a Unix timestamp is a single integer that means the same thing everywhere. It doesn't care about timezones, daylight saving time, or date formatting conventions. 1771287944 is unambiguous whether you're reading it in Tokyo, London, or New York.
This makes Unix time the standard for timestamps in databases, APIs, log files, JWT tokens, cookies, cron jobs, and virtually every system that needs to record when something happened. It's compact (4–8 bytes), trivially sortable, and makes duration calculations simple — just subtract one timestamp from another. To see unix time now, check the live counter at the top of this page. Use the epoch converter above to translate any timestamp to a human-readable date or vice versa.
In 1969, Ken Thompson and Dennis Ritchie at Bell Labs began building Unix on a PDP-7 minicomputer. The original system clock used a 32-bit integer counting 60ths of a second from an epoch of January 1, 1971. With 60-Hz ticks, a 32-bit counter would overflow in just over 2 years — not very useful.
By 1971, they switched to counting whole seconds, which extended the range to about 136 years. The epoch was shifted back to January 1, 1970 — a round number that was recent enough to keep values small but old enough that no relevant records would predate it. There was no grand technical reason; it was a practical choice that stuck.
The convention was codified in the POSIX standard (Section 4.16) and has been adopted by virtually every operating system, programming language, and database engine since. The epoch has never changed, and at this point, it never will. Unix timestamps are embedded in protocols you interact with daily — from DNS record TTLs to TLS certificate expiry dates and HTTP cache headers.
On January 19, 2038 at 03:14:07 UTC, the Unix timestamp will reach 2147483647 — the maximum value a signed 32-bit integer can hold. One second later, the binary representation overflows: the sign bit flips, and the value wraps around to -2147483648, which represents December 13, 1901.
This is two's complement arithmetic at work. In a 32-bit signed integer, the highest bit indicates the sign. When 2,147,483,647 ( 0x7FFFFFFF) increments by one, it becomes 0x80000000 — a negative number. Any system that stores time as a 32-bit time_t will interpret post-2038 dates as being in 1901.
The fix: migrate to 64-bit time_t. A 64-bit signed integer can count seconds for over 292 billion years in either direction — well past the projected lifespan of the Sun. The Linux kernel completed its 64-bit time transition in version 5.6 (2020), and most modern operating systems, languages, and databases now use 64-bit timestamps by default.
The remaining risk lies in embedded systems (car ECUs, industrial PLCs, medical devices), IoT firmware that may never receive updates, and legacy databases with 32-bit timestamp columns. Think of it as Y2K for the Unix world — serious for systems that haven't been updated, but already solved on modern platforms.
Every major programming language and database engine has built-in support for Unix timestamps. Here's how to get the current Unix time and convert a timestamp back to a date in each:
Get current timestamp
Math.floor(Date.now() / 1000)Convert to date
new Date(ts * 1000)Get current timestamp
import time
int(time.time())Convert to date
from datetime import datetime
datetime.fromtimestamp(ts)Get current timestamp
time.Now().Unix()Convert to date
time.Unix(ts, 0)Get current timestamp
date +%sConvert to date
date -d @1771287944Get current timestamp
time()Convert to date
date('Y-m-d H:i:s', $ts)Get current timestamp
Time.now.to_iConvert to date
Time.at(ts)Get current timestamp
SELECT UNIX_TIMESTAMP()Convert to date
SELECT FROM_UNIXTIME(ts)Get current timestamp
SELECT EXTRACT(EPOCH FROM NOW())Convert to date
SELECT TO_TIMESTAMP(ts)A frequent source of bugs: JavaScript's Date.now() returns milliseconds since the epoch (13 digits, e.g. 1771287944000), while most other languages and databases use seconds (10 digits, e.g. 1771287944).
Passing a seconds timestamp to a function expecting milliseconds gives you a date in January 1970. Passing milliseconds where seconds are expected gives you a date tens of thousands of years in the future. The quick diagnostic: count the digits. 10 digits means seconds, 13 means milliseconds.
1771287944
Used by Python, Go, Bash, PHP, Ruby, C, Rust, Java (Instant.getEpochSecond()), most databases.
1771287944000
Used by JavaScript, Java (System.currentTimeMillis()), Elasticsearch, some NoSQL databases.
To convert: multiply seconds by 1,000 to get milliseconds. Divide milliseconds by 1,000 (rounding down) to get seconds. The converter above auto-detects which format you've entered.
| Timestamp | Date (UTC) |
|---|---|
| 0 | Jan 1, 1970 00:00:00 |
| 946684800 | Jan 1, 2000 00:00:00 |
| 1000000000 | Sep 9, 2001 01:46:40 |
| 1234567890 | Feb 13, 2009 23:31:30 |
| 1700000000 | Nov 14, 2023 22:13:20 |
| 2000000000 | May 18, 2033 03:33:20 |
| 2147483647 | Jan 19, 2038 03:14:07 |
| -1 | Dec 31, 1969 23:59:59 |
Common time intervals expressed in seconds — useful when calculating expiration times, cache TTLs, JWT lifetimes, or cron intervals.
| Duration | Seconds |
|---|---|
| 1 minute | 60 |
| 1 hour | 3,600 |
| 1 day | 86,400 |
| 1 week | 604,800 |
| 1 month (30.44 days) | 2,630,016 |
| 1 year (365.25 days) | 31,557,600 |
Look up DNS records for any domain — A, AAAA, MX, TXT, CNAME, and more.
Detect your public IP address with geolocation, ISP, and security analysis.
Scan open TCP and UDP ports on any IP or domain from outside your network.
Check DNS propagation across global nameservers in real time.
Geolocate any IP address with map, ASN, threat intelligence, and WHOIS.
Browse all top-level domains with pricing, registry info, and analytics.