A timestamp is a count, not a clock reading
A Unix timestamp isn't a formatted date at all — it's a single number: the count of seconds that have elapsed since January 1, 1970, 00:00:00 UTC, a reference moment known as the Unix epoch. There's no timezone embedded in that number, no notion of 'January' or 'Tuesday' — just an elapsed count from a fixed zero point. This is exactly why it's so useful for computing: two systems in different timezones can compare, sort, and calculate durations between timestamps without ever needing to agree on a shared timezone, because the number itself is timezone-independent by construction. Formatting it into a human-readable date — with a specific timezone, calendar, and locale — is a separate, later step.
Seconds vs. milliseconds: the digit-count tell
The classic Unix standard counts in seconds, but many programming environments — JavaScript's Date.now() among them — work in milliseconds instead, since that finer granularity is more useful for measuring short intervals in code. The practical consequence: a timestamp representing 'now' in seconds is a 10-digit number, while the same moment in milliseconds is a 13-digit number, a thousand times larger. Paste a millisecond timestamp into a converter expecting seconds, and you'll get a wildly wrong date — one that's roughly 31,000 times too far in the future, because seconds×1000 lands somewhere past the year 33,000.
Timestamp length reference
| Digits | Unit | Approximate era it represents |
|---|---|---|
| 1–9 | Seconds | 1970 up through roughly the early 2000s |
| 10 | Seconds | Roughly 2001 through 2286 |
| 13 | Milliseconds | The same 2001–2286 range, in milliseconds |
Converting between timestamps and dates
Watch the live current Unix timestamp tick at the top of the tool, updating in real time.
Type a timestamp into the top field — the date, UTC, and ISO 8601 representations update instantly.
Or pick a local date and time in the bottom field to get the matching timestamp.
Use Use now to snap both fields to the current moment, or copy any value with one click.
Local time vs. UTC: same instant, different display
It's worth being precise about what changes and what doesn't when you look at local time versus UTC for the same timestamp: the underlying instant in time is identical — the timestamp itself hasn't changed — only its display representation differs. UTC is the fixed global reference; local time is that same instant translated through your device's timezone setting and current daylight saving status. This is exactly why sharing a raw timestamp is safer for cross-timezone coordination than sharing a formatted local date and time: the timestamp carries no ambiguity, while '3:00 PM' means something different depending on which timezone the reader assumes.
Why ISO 8601 exists alongside the raw timestamp
A raw Unix timestamp is efficient for machines but unreadable to a human glancing at it — nobody can look at 1705318200 and immediately know what date that is. ISO 8601 (formatted like 2024-01-15T12:30:00.000Z) solves that by encoding the same instant in a human-parseable, unambiguous, and machine-parseable string, complete with an explicit UTC marker (the trailing Z). It's become the de facto standard for timestamps in APIs and structured data specifically because it avoids the locale ambiguity of formats like 01/15/2024 (which reads as either January 15 or the 1st of the 15th month, depending on the country) while still being sortable as plain text — ISO 8601 strings sort correctly in chronological order using ordinary string comparison, a property most other date formats don't have.
Common mistakes
Feeding a millisecond timestamp into code or a tool that expects seconds (or vice versa) — always check digit count first if a result looks implausible, since this tool handles the detection automatically but not every system does.
Assuming a formatted local date-and-time string is unambiguous when sharing it across timezones — the same clock time means different instants depending on the reader's timezone, unlike a raw timestamp or a UTC-labeled ISO string.
Confusing a timestamp's numeric size with its precision — a bigger number (milliseconds) isn't inherently 'more accurate,' it's just measuring the same instant in smaller units.
Manually parsing a date string with locale-ambiguous formatting (01/15/2024) when an unambiguous ISO 8601 string was available instead.
Real use cases
Debugging an API response that returns a raw timestamp, converting it to a readable date to verify the data is correct.
Converting a specific date and time into a timestamp for use in a script, database query, or scheduled task.
Checking whether a suspiciously large or small timestamp value in a log file is in seconds or milliseconds.
Getting the current timestamp in ISO 8601 format for a test fixture, API call, or piece of documentation.
Frequently asked questions
Q: What is a Unix timestamp?
A: The number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC (the Unix epoch) — a timezone-independent way to represent a specific point in time.
Q: Does this tool handle millisecond timestamps?
A: Yes. If your value is 13 digits long — the typical length for a millisecond timestamp representing the current era — the tool auto-detects it and converts accordingly.
Q: Is my date data sent anywhere?
A: No. Conversion happens entirely in your browser using JavaScript's native Date object.
Q: What's the difference between local and UTC?
A: UTC is the global reference time. Local time is what your device clock shows, adjusted for your timezone and daylight saving — both represent the same underlying instant, just displayed differently.
Q: Can I copy the ISO 8601 string?
A: Yes — every output field has a copy button. ISO 8601 strings look like 2024-01-15T12:30:00.000Z and are widely used in APIs.
Q: Why does a timestamp of 0 correspond to January 1, 1970?
A: Because that instant is the Unix epoch — the fixed zero point the entire counting system is defined relative to. A timestamp of 0 means exactly zero seconds have elapsed since that reference moment.
Convert a timestamp now
Try the Unix Timestamp Converter. Need to compare times across regions? Check the World Clock. Timing something happening now instead of converting a fixed date? Try the Stopwatch or Countdown Timer.