2 min read
Unix Timestamps Explained (Epoch Time in Plain English)
What a Unix timestamp actually counts, seconds vs milliseconds, time zones, the 2038 problem, and how to convert timestamps to dates instantly.
One number, one moment
A Unix timestamp is the number of seconds elapsed since midnight UTC on January 1, 1970 — a moment called the Unix epoch. That's the whole idea: instead of juggling years, months, days, hours, and time zones, a single integer pins down an exact instant. 0 is the epoch itself; 1,000,000,000 was September 9, 2001; numbers around 1.78 billion land in 2026.
Computers love this format because comparing two moments becomes comparing two numbers, and the duration between them is simple subtraction. That's why timestamps fill log files, APIs, databases, and file metadata everywhere.
Seconds vs milliseconds — the 10 vs 13 digit tell
The classic gotcha: Unix time is traditionally in seconds, but JavaScript's Date.now() and many APIs report milliseconds. A current timestamp in seconds has 10 digits; in milliseconds, 13. Treat one as the other and your date lands in 1970 (milliseconds read as seconds) or some fifty-thousand years in the future (the reverse).
If a conversion gives you a nonsense date, check the digit count first. The timestamp converter on this site auto-detects the unit by length, but when writing code you'll multiply or divide by 1,000 yourself.
Timestamps have no time zone (and that's the point)
A Unix timestamp is always anchored to UTC — the same instant everywhere on Earth. The number doesn't change when you cross time zones; only the human-readable rendering does. 1,780,000,000 seconds is one specific moment, displayed as one wall-clock time in New York and another in Tokyo.
This is exactly why systems store timestamps and convert to local time only at display. Storing 'wall clock' times without zone info is how bugs like double-booked meetings and daylight-saving-time chaos happen. Rule: store UTC timestamps, render local.
- 1Copy the timestamp from your log, API response, or database.
- 2Paste it into the Timestamp Converter — the tool detects seconds vs milliseconds automatically.
- 3Read both the local-time and UTC renderings.
- 4For the reverse trip, use the date picker to get the timestamp for any calendar moment.
The year-2038 problem
Older systems store Unix time as a signed 32-bit integer, which maxes out at 2,147,483,647 — corresponding to 03:14:07 UTC on January 19, 2038. One second later, the value overflows and wraps to 1901. Modern 64-bit systems have effectively solved this (their limit is hundreds of billions of years away), but embedded devices, old file formats, and legacy databases still carry the risk.
One more nuance for the curious: Unix time officially ignores leap seconds — each day is defined as exactly 86,400 seconds, and the occasional leap second is absorbed rather than counted. For virtually all everyday purposes this never matters, but it explains tiny discrepancies in scientific timekeeping contexts.
Frequently asked questions
Can Unix timestamps be negative?
Yes — negative values count backwards from the 1970 epoch. −86,400 is December 31, 1969. Not all software handles negative timestamps gracefully, but the format allows them.
Why did January 1, 1970 become the epoch?
It was a pragmatic choice by Unix's developers in the early 1970s — a convenient recent round date. There's no deeper significance; it simply stuck and spread with Unix itself.
Do timestamps account for daylight saving time?
The timestamp itself is UTC and completely ignores DST. DST only appears when converting to a local time zone for display — which is exactly why storing timestamps avoids DST bugs.
Tools mentioned in this guide
Timestamp Converter
Convert Unix timestamps to human dates and back — seconds or milliseconds.
Developer Tools
Age Calculator
Calculate exact age in years, months, and days — plus your next birthday.
Calculators
Stopwatch
A precise online stopwatch with lap times — keeps counting in background tabs.
Productivity Tools
Keep reading