No upload, 100% local, no account

Unix Timestamp Converter

Convert between Unix epoch timestamps and human dates. Auto-detects seconds vs milliseconds. Shows UTC and local timezone. Nothing leaves your browser.

How Timestamp Converter works

The timestamp converter translates between Unix epoch values and human-readable dates in both directions. Paste an epoch number and it shows the corresponding UTC date-time and your local date-time, automatically detecting whether the value is in seconds or milliseconds. Type a date and time and it converts back to an epoch in both units. All conversion logic runs inside your browser using the JavaScript Date API; nothing you enter is transmitted to any server.

The auto-detection between seconds and milliseconds uses a simple threshold: values above 9999999999 are treated as milliseconds (covering dates from 2001 onward in ms), and values at or below that are treated as seconds (covering dates up to 2286). If your timestamp falls in an ambiguous range, a toggle lets you override the guess. The local time conversion uses your browser's own time zone, including any daylight saving offset in effect for that date.

How to use Timestamp Converter, step by step

  1. Paste a Unix epoch value (seconds or milliseconds) into the epoch field.
  2. Read the UTC and local date-time results that appear immediately below.
  3. Or type a date and time into the date fields to convert in the opposite direction.
  4. Check the auto-detected unit label (seconds or milliseconds) and toggle it if the guess is wrong.
  5. Copy either the epoch or the formatted date using the copy buttons.

Common use cases

  • Decode a Unix timestamp from a database query result to confirm a record was created on the expected date.
  • Convert a JavaScript Date.now() value from milliseconds to a readable string during a debugging session in DevTools.
  • Generate the epoch second for a specific past date to use as a filter parameter in an API request with time-based pagination.
  • Verify that two timestamps from different systems refer to the same instant by converting both to UTC and comparing.

Frequently asked questions

Does anything I enter get logged or stored on your servers?

No. The entire conversion is a local JavaScript Date object operation. The epoch value or date you enter lives only in your browser tab. No request is made to Sunasty or any other host during conversion.

How does the tool tell seconds from milliseconds?

It counts digits: up to 10 is read as seconds, 11 to 13 as milliseconds, 14 to 16 as microseconds and 17 or more as nanoseconds. When the digit count is ambiguous, it tries each unit from the smallest and keeps the first that lands on a plausible year. A toggle is available to override this decision.

Which time zone is used for the "local" display?

The time zone your browser reports, which is normally the system time zone of the device you are on. If your device is set to UTC, local and UTC will show the same value. The tool does not let you pick an arbitrary time zone for the local display; for multi-zone conversions, the World Clock tool on this site is more appropriate.

What is the valid range of Unix timestamps this tool handles?

The JavaScript Date object supports values from approximately -8,640,000,000,000,000 ms (year -271821) to 8,640,000,000,000,000 ms (year 275760). In practice, timestamps outside the range 1970 to 2100 are rare, and the tool handles them correctly as long as they fall within the JavaScript Date range.

Can I convert a timestamp that includes fractional seconds?

If you paste a floating-point value, the fractional part is truncated before conversion because JavaScript Date works in whole milliseconds. Microsecond and nanosecond timestamps (common in Postgres or Kafka) are handled directly: paste the full value and the unit selector picks the right one. The displayed date is still resolved to the millisecond, since that is the precision a JavaScript date carries.

Does the converter account for leap seconds?

No. Unix time does not count leap seconds; it defines each day as exactly 86,400 seconds regardless of any leap second adjustments. This is the standard behaviour and matches what POSIX systems, programming languages and most databases report.