Unix Timestamp Converter
Paste an epoch value to get a readable date in UTC and your local zone, or pick a date to get its timestamp. Seconds and milliseconds are detected automatically.
Timestamp → date
Date → timestamp
All conversion happens in your browser. The date picker is interpreted in your local time zone; results show both UTC and local.
What a Unix timestamp is
A Unix timestamp is a single integer: the number of seconds elapsed since 00:00:00 UTC on 1 January 1970, a moment called the epoch. It's the lingua franca of computing time because it has no time zone, no daylight saving, no calendar quirks — just a count. Log files, databases, APIs, and file systems store timestamps this way and convert to local wall-clock time only for display. When two systems disagree about "when", converting both sides to epoch seconds is how you settle it.
One deliberate simplification: Unix time pretends every day has exactly 86,400 seconds and ignores leap seconds. When a leap second is inserted, Unix clocks repeat or smear a second rather than counting 86,401. For anything short of astronomy or high-precision trading, this never matters.
Seconds or milliseconds? Reading the digits
| Digits | Unit | Typical source |
|---|---|---|
| 10 (e.g. 1754870400) | Seconds | Unix tools, most APIs, databases |
| 13 (e.g. 1754870400000) | Milliseconds | JavaScript's Date.now(), Java |
| 16 | Microseconds | Some databases and trading systems |
| 19 | Nanoseconds | Go, high-resolution logging |
Current dates land at 10 digits until the year 2286, so digit count is a reliable tell. This converter accepts 10- and 13-digit values and labels which it assumed. If a "date" decodes to 1970 plus a few days, you've fed milliseconds a seconds-decoder or vice versa — the most common timestamp bug there is.
The year 2038 problem
Early systems stored Unix time in a signed 32-bit integer, which overflows at 03:14:07 UTC on 19 January 2038 — one second later, the counter wraps to a date in December 1901. Modern operating systems and languages moved to 64-bit time years ago (good until roughly 292 billion years from now), but 32-bit timestamps persist in embedded devices, old file formats, and legacy database columns. It's the Y2K of the 2030s: mostly solved, dangerous where forgotten.
Frequently asked questions
Why is my timestamp "off by a few hours"?
It isn't — the timestamp is UTC by definition. The difference you're seeing is your local zone's offset. Compare against the UTC line in the result, not local time.
Can timestamps be negative?
Yes. Negative values count backwards from 1970: −86400 is 31 December 1969. This tool accepts them.
How do I get the current timestamp in code?
Shell: date +%s · Python: time.time() · JavaScript: Math.floor(Date.now()/1000) · SQL (Postgres): extract(epoch from now()).
Is epoch time affected by daylight saving?
Never. That's the point of it. Only the human-readable rendering changes with zone and season.
Need to express a timestamp as a time in a specific city? Decode it here, then use the time zone converter.