Skip to main content
DEVELOPER

ISO 8601 to Unix

Paste an ISO 8601 date and time, such as 2026-09-20T12:30:00Z, and get the Unix timestamp in seconds and milliseconds.

Only used for strings without Z or a UTC offset.

What is ISO 8601?

ISO 8601 is the international standard for writing dates and times in a form that sorts correctly and cannot be misread as month/day or day/month. A full example is 2026-09-20T12:30:00Z: year, month, day, the letter T, hours, minutes and seconds, and a time zone designator.

Time zone designators

The letter Z means UTC. An offset such as +02:00 or -05:00 says how far the local time is from UTC. If a string has no designator, the standard treats it as local time, so this tool lets you pick which zone to assume (UTC by default). A date without a time, like 2026-09-20, is read as midnight in that zone.

Want the background? Read our comprehensive guide: ISO 8601 Date and Time Format.

How to use this tool

  1. Paste the ISO 8601 string, or select Use example.
  2. If the string has no Z or offset, choose the time zone to assume. UTC is the default.
  3. Select Convert to Unix.
  4. Copy the seconds or milliseconds value.

Examples

Strings with an offset or Z do not depend on the assumed zone.

UTC time (Z)

2026-09-20T12:30:00Z

Unix seconds
1789907400
Unix milliseconds
1789907400000

The same instant with an offset

2026-09-20T14:30:00+02:00

Unix seconds
1789907400
Unix milliseconds
1789907400000

This is the same instant as the string above.

With fractional seconds

2026-09-20T12:30:00.250Z

Unix seconds
1789907400
Unix milliseconds
1789907400250

A date without a time

2026-09-20

Unix seconds
1789862400
Unix milliseconds
1789862400000

Read as midnight in the assumed zone, UTC by default.

Frequently Asked Questions

Which ISO 8601 formats are supported?
The extended format with dashes and colons: YYYY-MM-DD, YYYY-MM-DDThh:mm, YYYY-MM-DDThh:mm:ss, optional fractional seconds, and an optional Z or offset written as +hh:mm, +hhmm or +hh. A space instead of the T is accepted too.
What happens when the string has no time zone?
The tool interprets the value in the zone you choose. UTC is the default because it gives the same answer for everybody.
Why is 2026-02-30 rejected?
Because it is not a real date. The tool checks the number of days in each month, including leap years.
Is 2026-09-20T12:30:00Z the same as 2026-09-20T14:30:00+02:00?
Yes. They describe the same instant, so both convert to the same Unix timestamp.