Unix timestamp converter

Convert a Unix timestamp in any unit to UTC and your local time. Pick the unit yourself, or let the converter detect it and show its reasoning.

Nowreading device clock…
Unix number in any unit, ISO 8601, RFC 2822, Excel serial, FILETIME, UUID, ULID or Snowflake.
Unit
IANA zone; type to search, e.g. Kolkata, Paris.
Precision and rounding
  • Note: Unit auto-detected as seconds from 10 integer digits.
Same digits in other units
Other formats this number could be (4)
UTCUTC+00:00
2025-01-01 Wed
00:00:00
UTCUTC+00:00
2025-01-01 Wed
00:00:00

Read as Unix seconds (unit auto-detected) high confidence

Precision check: exact vs JavaScript Number and Date
Exact (BigInt)
1 735 689 600 000 000 000 ns
Number(input)
1735689600 (no loss)
new Date(ms)
no loss
Unix epoch
Unix seconds1735689600Exact; fraction shown when present
Unix seconds (integer, floor)1735689600
Unix milliseconds1735689600000
Unix microseconds1735689600000000
Unix nanoseconds1735689600000000000
Unix seconds (hex)0x67748580
Standard date formats
ISO 8601 (UTC)2025-01-01T00:00:00Z
RFC 3339 (UTC)2025-01-01T00:00:00+00:00
RFC 9557 (offset + zone)2025-01-01T00:00:00+00:00[UTC]
RFC 2822 (UTC)Wed, 01 Jan 2025 00:00:00 +0000
HTTP-date (IMF-fixdate)Wed, 01 Jan 2025 00:00:00 GMTAlways GMT; whole seconds
SQL TIMESTAMP (UTC)2025-01-01 00:00:00Microsecond precision max (PostgreSQL/MySQL)
SQL TIMESTAMP (UTC wall time)2025-01-01 00:00:00No zone stored: ambiguous without context
PostgreSQL timestamptz literal2025-01-01 00:00:00+00:00
ISO week date (UTC)2025-W01-3
Ordinal date (UTC)2025-001
Readable (UTC)Wednesday, 1 January 2025, 00:00:00 UTCCanonical English; not locale-dependent
Platform and system epochs
JavaScript new Date(ms)new Date(1735689600000)
Java InstantInstant.ofEpochSecond(1735689600L, 0L)Nanosecond precision
Python datetime (UTC)datetime(2025, 1, 1, 0, 0, 0, 0, tzinfo=timezone.utc)Microsecond precision
.NET DateTime ticks638712864000000000100-ns ticks since 0001-01-01 (DateTime.Ticks with Kind=Utc).
Windows FILETIME / LDAP133801632000000000100-ns intervals since 1601 UTC. Active Directory lastLogon, pwdLastSet, accountExpires.
Chrome / WebKit time13380163200000000Microseconds since 1601 UTC (Chrome history, cookies).
Apple Cocoa / Core Data757382400NSDate timeIntervalSinceReferenceDate, Core Data, iOS/macOS plists.
Mac HFS+ seconds3818534400Classic Mac OS / HFS+ volume dates (seconds since 1904).
NTP seconds (era 0)3944678400NTP era 0 wraps on 2036-02-07; era numbers are not encoded in the 32-bit field.
Excel serial 1900 (UTC wall time)45658Days since 1900-01-00 with the Lotus 1-2-3 leap-year bug (serial 60 = fictitious 1900-02-29). No time zone.
Excel serial 1904 (UTC wall time)44196Older Mac Excel workbooks. Days since 1904-01-01. No time zone.
Julian Date2460676.5Days since noon UT, 24 Nov 4714 BC. Computed from UTC, so it ignores the UT1/TT distinction.
Modified Julian Date60676JD - 2400000.5. Computed from UTC.
GPS seconds1419724818Seconds since the GPS epoch, counting leap seconds (GPS = TAI - 19 s). Uses the bundled leap-second table.
TAI (TAI-UTC = 37 s)2025-01-01T00:00:37 TAIFrom the bundled leap-second table
ID range bounds
Smallest UUIDv7 at this ms01941f29-7c00-7000-8000-000000000000Use as a range-query lower bound
Smallest ULID at this ms01JGFJJZ000000000000000000
Smallest Twitter / X Snowflake1874244142494646272
Smallest Discord Snowflake1323802873036800000
Smallest MongoDB ObjectId677485800000000000000000
Settings and local data

Storage: checking…

Seconds, milliseconds, microseconds or nanoseconds?

A Unix timestamp for a present-day date has 10 digits in seconds, 13 in milliseconds, 16 in microseconds and 19 in nanoseconds. Auto-detect uses that digit count: up to 11 digits is read as seconds, 12 to 14 as milliseconds, 15 to 17 as microseconds and 18 or more as nanoseconds. The digit ruler under the input colours each group of three digits by the unit it belongs to, so you can see where the seconds end.

The converter then checks the result. If the date is far from the present, or if another unit would also give a plausible modern date, it shows a warning and lists each alternative. One click locks the unit you meant. Short values such as 86400 are often durations rather than instants, and they are flagged the same way.

Examples to try

Where each unit comes from

Seconds: POSIX time(), PHP time(), Python int(time.time()), PostgreSQL extract(epoch …), JWT iat and exp claims. Milliseconds: JavaScript Date.now(), Java System.currentTimeMillis(), Elasticsearch and most JSON APIs. Microseconds: PostgreSQL internals, BigQuery UNIX_MICROS, Chrome trace events. Nanoseconds: Go UnixNano(), OpenTelemetry spans, Prometheus remote write, InfluxDB line protocol.

Questions

How do I tell whether a timestamp is in seconds or milliseconds?
Count the digits. For dates between 2001 and 2286, seconds have 10 digits and milliseconds have 13. The converter shows the count and flags readings that land far from today.
Can a Unix timestamp have decimals?
Yes. 1700000000.25 seconds is 250 ms after the whole second. Fractions are parsed exactly. When a value has more precision than 1 nanosecond, it is rounded with the rounding mode you choose, and the result says so.
Does Unix time include leap seconds?
No. POSIX time treats every day as 86,400 seconds, so 23:59:60 cannot be represented. This tool maps a real leap second to the following 00:00:00 and labels the result.