Unix Timestamp Converter
Convert an epoch timestamp to a readable date, or a date to a timestamp. Seconds, milliseconds and microseconds are auto-detected. Everything runs in your browser.
🔒 Generated locally — nothing is uploadedTimestamp → date
Date → timestamp
Related tools
A Unix timestamp is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970 — the "Unix epoch". It's the most common way software stores an instant in time, because it's a single number with no time zone, calendar or formatting attached.
Seconds, milliseconds, microseconds
Classic Unix time counts seconds — a 10-digit number today (e.g. 1756594800). JavaScript's Date.now() and many APIs use milliseconds, a 13-digit number. Some systems (databases, tracing tools) use microseconds (16 digits) or nanoseconds (19 digits). This converter guesses the unit from the digit count, and you can force it with the dropdown if a value is ambiguous — for instance a date far in the past has fewer digits.
Time zones and the epoch
A timestamp itself has no time zone — it's an absolute count from a UTC reference point. The time zone only matters when you render it. This tool shows the same instant three ways: in the site's language as your local time, in UTC, and as an ISO 8601 string (which ends in Z, meaning UTC). The "Date → timestamp" field reads the date and time in your local zone and converts to the absolute number.
The year 2038 problem
Systems that store Unix time in a signed 32-bit integer overflow on 19 January 2038, when the second count exceeds 2,147,483,647. Modern platforms use 64-bit integers, which push the limit about 292 billion years out, but legacy embedded systems and old file formats can still hit the 2038 wall.
Getting a timestamp in code
Every language reaches the epoch a slightly different way, which is a common source of off-by-a-thousand bugs when mixing languages. In JavaScript, Date.now() returns milliseconds, so divide by 1000 for the classic 10-digit seconds value. Python's time.time() returns seconds as a float; int(time.time()) matches what this tool shows. In most SQL databases, EXTRACT(EPOCH FROM NOW()) (PostgreSQL) or UNIX_TIMESTAMP() (MySQL) does the same in seconds. Java's System.currentTimeMillis() and Go's time.Now().Unix() (seconds) or .UnixMilli() (milliseconds) follow the same pattern — always check which unit a given function returns before comparing it against a value from somewhere else.
Frequently asked questions
Is anything sent to a server?
No. All conversion is date arithmetic in your browser. The live clock reads your device's time; nothing is transmitted.
Why does the local time use the site language instead of my computer's?
So the output matches the language you picked in the header rather than your operating system's regional settings — the two often differ. The instant shown is the same; only the words and number formatting change.
Can it handle negative timestamps?
Yes — a negative number is a date before 1 January 1970 and converts normally.
What's the difference between the epoch and ISO 8601?
They describe the same instant. The epoch is a raw count of seconds; ISO 8601 (2026-08-31T00:00:00Z) is a human-readable, sortable string. ISO 8601 is better for logs and config; the epoch is better for arithmetic and compact storage.
How do I get the current Unix timestamp in JavaScript or Python?
In JavaScript, Math.floor(Date.now() / 1000) gives seconds (Date.now() alone is milliseconds). In Python, int(time.time()) gives seconds. Both match the "Current Unix time" value shown at the top of this page.
Why do some timestamps have 13 digits and others 10?
10 digits is seconds (the classic Unix timestamp); 13 digits is milliseconds, which is what JavaScript's Date.now() and many web APIs use natively. This tool's auto-detect option reads the digit count to guess which one you've pasted.