What is a Unix timestamp?
A Unix timestamp — also called epoch time, POSIX time, or simply an epoch — is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970. That starting point is called the Unix epoch. It provides a universal, timezone-free way to record a precise moment in time as a single integer.
How to convert a timestamp to a date
Paste any Unix timestamp into the input above and press Convert to date. The tool outputs the result in four formats: a human-readable local time, ISO 8601, UTC string, and your detected local timezone. To go the other way — converting a date to a Unix timestamp — pick the date and time and press Convert to Unix timestamp.
To do the math manually: take the Unix timestamp in seconds, divide by 86400 to get days since the epoch, then count forward from 1 January 1970. In code: new Date(timestamp * 1000) in JavaScript, or datetime.fromtimestamp(ts) in Python.
Seconds vs. milliseconds
Traditional Unix timestamps count whole seconds — a 10-digit number. JavaScript's Date.now() returns milliseconds (the timestamp multiplied by 1000), giving a 13-digit number. When someone says "time in ms", they mean this millisecond-precision variant. This converter detects the format automatically: 13-digit input is treated as milliseconds, 10-digit as seconds.
Common use cases
- Database timestamps — storing
created_atandupdated_atas integers avoids timezone ambiguity and simplifies sorting. - Log analysis — server logs often use Unix epoch time; converting to a readable date helps pinpoint incidents.
- API debugging — REST APIs frequently return epoch timestamps as integers; this tool converts them instantly.
- Cache and token expiry — HTTP
Expiresheaders and JWTexpclaims use Unix timestamps.
The year 2038 problem
32-bit signed integers can represent Unix timestamps up to 2,147,483,647 — which is 03:14:07 UTC on 19 January 2038. Systems still storing Unix epoch time in 32-bit integers will overflow at that point. Modern systems use 64-bit integers, which can represent dates hundreds of billions of years into the future.
Frequently asked questions
What is epoch time?
Epoch time is another name for a Unix timestamp — the number of seconds (or milliseconds) elapsed since the Unix epoch: 00:00:00 UTC on 1 January 1970. "Epoch time", "Unix time", "POSIX time", and "Unix timestamp" all refer to the same thing. The epoch itself is the fixed reference point from which all Unix timestamps are measured.
What epoch are we in?
In computing terms, we are in the Unix epoch — time is measured as seconds elapsed since 1 January 1970 UTC. This is different from geological or historical epochs (like the Holocene). When developers talk about "the current epoch", they mean the current Unix timestamp, which you can see counting up live at the top of this page.
How do I convert a Unix timestamp to a datetime?
Paste the timestamp into the converter above and click Convert to date. Programmatically: in JavaScript use new Date(ts * 1000).toISOString() (multiply by 1000 to convert seconds to milliseconds); in Python use datetime.utcfromtimestamp(ts); in SQL use FROM_UNIXTIME(ts) in MySQL or datetime(ts, 'unixepoch') in SQLite.
What is the current Unix timestamp?
The current Unix timestamp is shown live at the top of this page, updating every second. You can also get it in any browser's developer console by typing Date.now() (returns milliseconds) or Math.floor(Date.now() / 1000) (returns seconds). In a terminal: date +%s on Linux/macOS.
What is the difference between Unix time and UTC?
Unix timestamps are always measured from the UTC epoch (1 Jan 1970 00:00:00 UTC), so they are inherently UTC-relative. When you convert a Unix timestamp to a human-readable date, the UTC output is the "true" time; the local time is UTC shifted by your timezone offset. Storing timestamps as Unix integers rather than formatted strings avoids timezone conversion bugs entirely.