Unix Timestamp Converter
Convert a Unix timestamp (epoch time) into a readable date, or turn any date back into a timestamp. Supports seconds, milliseconds, microseconds and nanoseconds, every IANA time zone, and daylight saving rules for the exact date you are converting. Nothing leaves your browser.
Unix timestamp to date
Auto-detect reads the magnitude: 10 digits are seconds, 13 milliseconds, 16 microseconds, 19 nanoseconds.
| Your local time | — |
|---|---|
| Selected time zone | — |
| UTC / GMT | — |
| ISO 8601 | — |
| RFC 2822 | — |
| Relative | — |
| Day of week | — |
| Day of year / week | — |
Date to Unix timestamp
The date above is interpreted as wall-clock time in the selected zone, including any daylight saving offset in effect on that date.
| Seconds | — |
|---|---|
| Milliseconds | — |
| Microseconds | — |
| Nanoseconds | — |
What the Unix epoch actually is
Unix time counts the seconds elapsed since 00:00:00 UTC on 1 January 1970, a reference point known as the Unix epoch. It deliberately ignores leap seconds, so every day is treated as exactly 86,400 seconds long. That small inaccuracy buys an enormous simplification: any instant becomes one integer, with no time zone, no calendar and no locale attached to it.
This is why timestamps travel so well. A row written by a server in Frankfurt and read by a client in São Paulo describes the same instant without either side agreeing on a format first. The zone is applied only at the edges — when a human needs to read it.
Seconds, milliseconds, and the mistake everyone makes
Different ecosystems picked different resolutions, which is the single most common source of timestamp bugs:
| Unit | Digits today | Typical source |
|---|---|---|
| Seconds | 10 | Unix time(), PHP, Python time.time(), PostgreSQL, JWT exp |
| Milliseconds | 13 | JavaScript Date.now(), Java System.currentTimeMillis(), Kafka |
| Microseconds | 16 | Python datetime internals, MySQL TIMESTAMP(6), Chrome traces |
| Nanoseconds | 19 | Go UnixNano(), Prometheus, InfluxDB, clock_gettime |
If a converted date lands in January 1970, a millisecond value was read as seconds. If it lands somewhere around the year 55,000, seconds were read as milliseconds. The converter above auto-detects the unit by digit count, and you can override it from the dropdown when the guess is wrong.
Reference points worth knowing
| Timestamp | Moment (UTC) | Why it matters |
|---|---|---|
0 | 1 Jan 1970, 00:00:00 | The epoch itself. A 0 in production usually means an unset field. |
1000000000 | 9 Sep 2001, 01:46:40 | The first billion — celebrated as the "billennium". |
2147483647 | 19 Jan 2038, 03:14:07 | Signed 32-bit overflow. See the Year 2038 problem. |
2000000000 | 18 May 2033, 03:33:20 | The next round-number milestone. |
More timestamp tools
-
Current Unix timestamp
A live, ticking clock of the epoch right now, in every unit.
-
Batch converter
Paste a whole column of timestamps from a log or CSV and convert them all at once.
-
Countdown to a timestamp
How long until a given epoch value — useful for token and cache expiry.
-
Code examples
Get and convert epoch time in Python, JavaScript, PHP, Go, Java and 16 more languages.
-
Time zone reference
Current time, UTC offset and daylight saving dates for every IANA zone.
-
Guides
Plain-English explanations of ISO 8601, leap seconds, DST bugs and 2038.
Frequently asked questions
What is a Unix timestamp?
A Unix timestamp is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970, not counting leap seconds. That moment is called the Unix epoch. Because it is a single integer in UTC, it is unambiguous everywhere on Earth, which is why almost every database, log file and API uses it internally.
Is my timestamp in seconds or milliseconds?
Count the digits. A present-day timestamp in seconds has 10 digits, milliseconds has 13, microseconds 16 and nanoseconds 19. If a date comes out as 1970 you almost certainly divided when you should have multiplied; if it lands tens of thousands of years in the future, you passed milliseconds to a function expecting seconds.
Does this converter send my data anywhere?
No. Every conversion runs in your browser using the built-in Intl and Date APIs. Nothing you type is transmitted, logged or stored on a server.
Which time zone are the results in?
The table shows your own local time zone as detected by your browser, the time zone you pick from the dropdown, and UTC, all at once. The zone selector covers the full IANA time zone database, and daylight saving offsets are applied for the specific date being converted rather than for today.
What happens in the year 2038?
Systems that store Unix time in a signed 32-bit integer overflow at 2147483647 seconds, which is 03:14:07 UTC on 19 January 2038. The counter wraps to a large negative number and dates jump back to 1901. Modern 64-bit time types push the limit roughly 292 billion years out, so the fix is to make sure every layer of a stack uses 64-bit time.
Can I link directly to a converted timestamp?
Yes. Append ?t= and the value to any converter page — for example /unix-timestamp-to-date?t=1710050400 — and the page loads with that timestamp already converted. Handy for sharing a specific moment in a bug report.