Epoch Timestamp Converter
Convert between Unix timestamps and human-readable dates across any timezone.
Timestamp → Human Date
Human Date → Timestamp
Epoch Boundaries for a Date
Common Reference Timestamps
| Event | Unix Timestamp | Date (UTC) |
|---|---|---|
| Unix Epoch (Start of Time) | 0 | 1970-01-01 00:00:00 |
| Year 2000 (Y2K) | 946684800 | 2000-01-01 00:00:00 |
| Year 2024 Start | 1704067200 | 2024-01-01 00:00:00 |
| Year 2025 Start | 1735689600 | 2025-01-01 00:00:00 |
| Year 2030 Start | 1893456000 | 2030-01-01 00:00:00 |
| Year 2038 Problem | 2147483647 | 2038-01-19 03:14:07 |
| Year 2100 Start | 4102444800 | 2100-01-01 00:00:00 |
What Is a Unix Epoch Timestamp?
A Unix timestamp (also called Unix epoch time, POSIX time, or Unix time) is the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC (the Unix Epoch). It is the standard way most programming languages, databases, and APIs represent points in time as a single integer.
Why Use Unix Timestamps?
- Timezone-independent — a single integer represents the same moment in time regardless of locale
- Easy arithmetic — calculating time differences is just subtraction
- Universally supported in every programming language and database
- Compact storage — 4 bytes (32-bit) or 8 bytes (64-bit) vs string date formats
Getting the Current Timestamp in Code
Python: import time; int(time.time())
PHP: time()
Java: System.currentTimeMillis() / 1000L
SQL (MySQL): UNIX_TIMESTAMP()
Go: time.Now().Unix()
C: time(NULL)
The Year 2038 Problem
32-bit systems store Unix time as a signed integer, which overflows on January 19, 2038 at 03:14:07 UTC (timestamp 2,147,483,647). Most modern systems use 64-bit timestamps which won't overflow for ~292 billion years. If you're working with legacy 32-bit embedded systems, this is still a real concern.
Millisecond vs Second Timestamps
JavaScript's Date.now() returns milliseconds (multiply by 1000 from seconds). Most Unix tools use seconds. When you see a 13-digit number it's milliseconds; 10-digit is seconds. This converter supports both — enter either format.
FAQ
Why does Unix time start at January 1, 1970?
1970-01-01 was chosen by the early Unix developers at Bell Labs as a convenient round number close to when Unix was developed (late 1960s). It's now a universally accepted standard.
How do I convert a JavaScript timestamp to Unix seconds?
JavaScript timestamps are in milliseconds. Divide by 1000: Math.floor(Date.now() / 1000). To convert back: new Date(unixSeconds * 1000).
What timezone is Unix time in?
Unix time itself is timezone-agnostic — it's always UTC. The conversion to a local date/time requires applying a timezone offset. The same Unix timestamp maps to different local times in different zones.