Skip to content
koducathome

Unix Timestamp Converter

Convert Unix timestamps in seconds or milliseconds to human-readable dates, and dates back to timestamps, in any time zone.

How to use this tool

Steps for using the Timestamp Converter.

  1. Paste a Unix timestamp into the Unix timestamp field, or press Now to use the current time. The current Unix time also ticks live at the top of the tool.
  2. Leave Unit on *Auto-detect* to infer seconds, milliseconds, microseconds or nanoseconds from the number of digits, or choose the unit yourself.
  3. Choose a Time zone to see the date in that zone alongside UTC, your local zone, ISO 8601, RFC 2822, relative time, day of week and ISO week number. Copy any row with its copy button.
  4. To go the other way, open Date → timestamp, pick a date and time and the zone it should be interpreted in. You get Unix seconds, milliseconds and the UTC ISO string.
  5. Use the Batch tab to convert many timestamps at once — one per line — and copy or download the tab-separated result.

Example

A millisecond timestamp from a JavaScript log

Timestamp (time zone America/New_York)
1700000000000
Result
Detected as milliseconds
ISO 8601 (UTC):     2023-11-14T22:13:20.000Z
UTC:                2023-11-14 22:13:20 UTC+00:00
America/New_York:   2023-11-14 17:13:20 UTC-05:00
RFC 2822:           Tue, 14 Nov 2023 22:13:20 GMT
Day of week:        Tuesday
ISO week:           W46 of 2023
Unix seconds:       1700000000

Common use cases

  • Reading created_at epoch values from logs, database rows or API responses.
  • Checking the exp and iat claims of a token after decoding it with the JWT Decoder.
  • Finding the timestamp for a specific local time to use in a query, test fixture or feature flag.
  • Converting a column of epoch values from a CSV export in one go with batch mode.
  • Working out when a scheduled job ran in UTC versus a colleague's time zone, alongside the Cron Generator.

How Unix timestamps work

A Unix timestamp counts the time elapsed since the Unix epoch, 1970-01-01 00:00:00 UTC, ignoring leap seconds. The same instant has one timestamp everywhere in the world; time zones only matter when you turn it into a calendar date and clock time. Negative values are valid and represent moments before 1970 — -86400 is 1969-12-31 00:00:00 UTC.

Different systems count in different units: Unix tools, PostgreSQL's extract(epoch …) and JWT exp claims use seconds; JavaScript's Date.now() and Java's System.currentTimeMillis() use milliseconds; some databases and tracing systems use microseconds; Go's UnixNano() and many metrics pipelines use nanoseconds. Auto-detection uses the magnitude of the number: up to 11 digits is treated as seconds (that covers every date from 1973 to the year 5138), 12–14 digits as milliseconds, 15–17 as microseconds and 18 or more as nanoseconds. If a value is ambiguous — for example a small millisecond value from 1970 — choose the unit manually.

Conversion uses the browser's Intl time-zone database, so daylight-saving rules are applied for any IANA zone. ISO 8601 output (2023-11-14T22:13:20.000Z) is the format to prefer in APIs and logs; the RFC 2822 / HTTP-date form (Tue, 14 Nov 2023 22:13:20 GMT) appears in email headers and HTTP Date, Expires and Last-Modified headers. The ISO week number follows ISO 8601: weeks start on Monday and week 1 contains the year's first Thursday, so 1 January can belong to week 52 or 53 of the previous year.

When converting a date to a timestamp, the wall-clock time is interpreted in the zone you choose. Some local times do not exist — during a spring-forward change, 02:30 in New York is skipped — and the tool tells you how such a time was resolved. JavaScript dates are limited to ±8.64 × 10¹⁵ milliseconds (about ±275,000 years); values beyond that are reported as out of range rather than silently wrapped.

Limitations

  • Leap seconds are ignored, as in Unix time itself.
  • Microsecond and nanosecond inputs are truncated to millisecond precision for display.
  • Relative time and the live clock use your device clock.
  • Batch mode converts up to 10,000 lines at a time.

Frequently asked questions

How do I know if a timestamp is in seconds or milliseconds?

Count the digits. Current timestamps in seconds have 10 digits (e.g. 1700000000); in milliseconds they have 13. The auto-detect mode applies this rule for you and shows which unit it chose.

What is the Year 2038 problem?

Systems that store Unix seconds in a signed 32-bit integer overflow on 2038-01-19 03:14:07 UTC (timestamp 2147483647). JavaScript and most modern systems use 64-bit values and are not affected.

Why does my converted date differ by a few hours?

The timestamp is the same everywhere; the displayed clock time depends on the time zone. Compare the UTC row with the zone row, and check whether the source system already applied an offset before storing the value.

Can I convert dates before 1970?

Yes. Enter a negative timestamp, such as -86400 for 31 December 1969. The result notes that the date is before the epoch.

Is anything sent to a server?

No. All conversions run in your browser using the built-in Intl APIs.