ISO 8601 to Unix timestamp

Paste an ISO 8601, RFC 3339, SQL or HTTP date to get its exact epoch value. Errors point to the character that broke the parse.

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
UTCUTC+00:00
2026-10-30 Fri
08:35:09.123456
UTCUTC+00:00
2026-10-30 Fri
08:35:09.123456

Read as RFC 3339

Unix epoch
Unix seconds1793349309.123456Exact; fraction shown when present
Unix seconds (integer, floor) rounded1793349309Sub-second part dropped (floor)
Unix milliseconds1793349309123.456
Unix microseconds1793349309123456
Unix nanoseconds1793349309123456000
Unix seconds (hex) rounded0x6AE456BD
Standard date formats
ISO 8601 (UTC)2026-10-30T08:35:09.123456Z
RFC 3339 (UTC)2026-10-30T08:35:09.123456+00:00
RFC 9557 (offset + zone)2026-10-30T08:35:09.123456+00:00[UTC]
RFC 3339 (original offset +05:30)2026-10-30T14:05:09.123456+05:30Offset from the input, preserved
RFC 2822 (UTC) roundedFri, 30 Oct 2026 08:35:09 +0000Whole seconds only
HTTP-date (IMF-fixdate) roundedFri, 30 Oct 2026 08:35:09 GMTAlways GMT; whole seconds
SQL TIMESTAMP (UTC)2026-10-30 08:35:09.123456Microsecond precision max (PostgreSQL/MySQL)
SQL TIMESTAMP (UTC wall time)2026-10-30 08:35:09.123456No zone stored: ambiguous without context
PostgreSQL timestamptz literal2026-10-30 08:35:09.123456+00:00
ISO week date (UTC)2026-W44-5
Ordinal date (UTC)2026-303
Readable (UTC)Friday, 30 October 2026, 08:35:09 UTCCanonical English; not locale-dependent
Platform and system epochs
JavaScript new Date(ms) roundednew Date(1793349309123)Date keeps milliseconds only: loses 456000 ns
Java InstantInstant.ofEpochSecond(1793349309L, 123456000L)Nanosecond precision
Python datetime (UTC)datetime(2026, 10, 30, 8, 35, 9, 123456, tzinfo=timezone.utc)Microsecond precision
.NET DateTime ticks639289461091234560100-ns ticks since 0001-01-01 (DateTime.Ticks with Kind=Utc).
Windows FILETIME / LDAP134378229091234560100-ns intervals since 1601 UTC. Active Directory lastLogon, pwdLastSet, accountExpires.
Chrome / WebKit time13437822909123456Microseconds since 1601 UTC (Chrome history, cookies).
Apple Cocoa / Core Data815042109.123456NSDate timeIntervalSinceReferenceDate, Core Data, iOS/macOS plists.
Mac HFS+ seconds rounded3876194109Classic Mac OS / HFS+ volume dates (seconds since 1904).
NTP seconds (era 0)4002338109.123456NTP era 0 wraps on 2036-02-07; era numbers are not encoded in the 32-bit field.
Excel serial 1900 (UTC wall time) rounded46325.3577444844Days 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) rounded44863.3577444844Older Mac Excel workbooks. Days since 1904-01-01. No time zone.
Julian Date rounded2461343.8577444844Days since noon UT, 24 Nov 4714 BC. Computed from UTC, so it ignores the UT1/TT distinction.
Modified Julian Date rounded61343.3577444844JD - 2400000.5. Computed from UTC.
GPS seconds1477384527.123456Seconds since the GPS epoch, counting leap seconds (GPS = TAI - 19 s). Uses the bundled leap-second table.
TAI (TAI-UTC = 37 s)2026-10-30T08:35:46.123456 TAIFrom the bundled leap-second table
ID range bounds
Smallest UUIDv7 at this ms01a18bf2-d2c3-7000-8000-000000000000Use as a range-query lower bound
Smallest ULID at this ms01M65Z5MP30000000000000000
Smallest Twitter / X Snowflake2116086491108081664
Smallest Discord Snowflake1565645221650235392
Smallest MongoDB ObjectId6ae456bd0000000000000000
Settings and local data

Storage: checking…

What the parser accepts

Extended and basic ISO 8601 calendar dates (2026-10-30, 20261030), week dates (2026-W44-5), ordinal dates (2026-303) and expanded years (+012026-01-01). Times can have fractions with any number of digits (beyond nine they are truncated with a warning). Offsets can be Z, ±hh:mm, ±hhmm or ±hh. RFC 9557 zone suffixes such as [Europe/Paris] are also accepted. A space instead of T is read SQL-style and labelled. 24:00:00 is normalised to the next day, and a real leap second 23:59:60 is mapped as POSIX does.

Locale-dependent dates such as 03/04/2026 are refused. They mean 4 March in the US and 3 April almost everywhere else, so any automatic choice would be a guess.

Examples to try

Offsets are kept, not discarded

An RFC 3339 timestamp records both an instant and the offset of the place that wrote it. After conversion, the outputs include a row that re-renders the instant with the original offset. You can check that a round trip reproduces the input. When the input has no offset, it is read as wall-clock time in the selected zone, and a warning names that zone.

Questions

Why is a date without an offset flagged?
Without an offset the text is a wall-clock time, not an instant. The converter reads it in the zone you select and says so, instead of quietly using UTC or your computer's zone.
Does it accept a comma as the decimal separator?
Yes, ISO 8601 allows 14:05:09,5. A warning notes that the comma was read as a decimal point.
What about MySQL 0000-00-00?
It is rejected with an explanation. MySQL uses it as a placeholder, and it is not a real date.