What is a Unix timestamp?
A Unix timestamp (or epoch time) is the number of seconds that have elapsed since January 1, 1970 00:00:00 UTC — the Unix epoch. It is a simple, unambiguous integer that every programming language and operating system understands, making it the universal interchange format for time.
Two things trip up developers. First, seconds vs milliseconds: JavaScript's Date.now() returns milliseconds (13 digits), while most APIs, databases, and CLI tools use seconds (10 digits). Second, timezone ambiguity: the epoch itself is always UTC, but when you format it for a user, "14:00 UTC" might be "09:00 EST." This tool lets you see both sides and toggle between seconds and milliseconds so you never ship the wrong value.
Every conversion happens entirely in your browser using the native Date API — no libraries, no server round-trips, no latency.
Key concepts at a glance
The same timestamp can represent wildly different dates depending on the unit. Always check the digit count.
Every epoch timestamp is UTC. Formatting to a timezone is a presentation concern, not a storage concern.
Epoch vs ISO 8601 vs RFC 2822
| Format | Example | Machine-Readable | Human-Readable |
|---|---|---|---|
| Unix Epoch (s) | 1752345678 | Yes (Integer) | No |
| Unix Epoch (ms) | 1752345678000 | Yes (Integer) | No |
| ISO 8601 | 2025-07-12T14:01:18+07:00 | Yes | Yes |
| RFC 2822 | Sat, 12 Jul 2025 14:01:18 +0700 | Yes (parsers) | Yes |
Use epoch for storage and APIs, ISO 8601 for logs and configs, RFC 2822 for email headers and HTTP.
Where developers use it
Debugging API timestamps
Your API returns <code>1710000000</code> and you need to know if that's last Tuesday or next year — paste it here and see the formatted date instantly.
Setting cron schedules
Cron uses human-readable time fields, but your dashboard shows epoch. Convert back and forth to verify the schedule fires when you think it does.
Reading database timestamps
PostgreSQL's <code>EXTRACT(EPOCH FROM ...)</code> and MySQL's <code>UNIX_TIMESTAMP()</code> both return epoch. See the real date before writing your WHERE clause.
Formatting for logs
Generate a consistent log timestamp format with the custom format builder — pick exactly the tokens your logging pipeline expects.
Frequently asked questions
The Unix epoch is January 1, 1970, 00:00:00 UTC. It is the zero-point from which all Unix timestamps are measured. A timestamp of 0 equals that exact moment. This date was chosen arbitrarily by early Unix engineers and has been the standard ever since.
Count the digits. 10 digits (e.g. 1710000000) is seconds — this is the standard Unix epoch. 13 digits (e.g. 1710000000000) is milliseconds — this is what JavaScript's Date.now() returns. This tool auto-detects based on the threshold (> 1 trillion = ms), but you can override with the toggle.
Yes. A negative Unix timestamp represents a date before January 1, 1970. For example, -86400 is December 31, 1969. Most systems handle negative timestamps correctly, though some older libraries may not.
On 32-bit systems that store Unix timestamps as a signed 32-bit integer, the maximum representable timestamp is 2,147,483,647, which corresponds to January 19, 2038 03:14:07 UTC. After this point, the integer overflows and wraps to a negative value (December 13, 1901). Modern 64-bit systems don't have this problem — they can represent dates billions of years into the future.
22 tokens covering year (YYYY, YY), month (MMMM, MMM, MM, M), day (DD, D), weekday (dddd, ddd), hour (HH, H, hh, h), minute (mm, m), second (ss, s), millisecond (SSS), meridiem (A, a), and timezone (Z, zz). Any other characters pass through literally — so DD/MM/YYYY HH:mm works as expected.
No. All conversion and formatting runs entirely in your browser using JavaScript's built-in Date object. Nothing is sent anywhere.