Menu

ISO 8601 format: converter and guide to YYYY-MM-DD dates and times

ISO 8601 writes dates from the largest unit to the smallest: 2026-10-23 for 23 October 2026, and 2026-10-23T14:30:00Z for 14:30 UTC on that day. Enter a date, time and UTC offset to get every ISO form, or paste an ISO 8601 string to check and convert it.

Paste any ISO 8601 date or date-time to read it.

2026-10-23

The extended calendar date. The table gives the other ISO 8601 forms.

More about the result
Calendar date, basic20261023
Week date2026-W43-5
Ordinal date2026-296
Date-time with offset2026-10-23T12:00:00Z
Same moment in UTC2026-10-23T12:00:00Z
Basic date-time20261023T120000Z
Unix time (seconds)1792756800

What ISO 8601 covers

ISO 8601 is the international standard for writing dates and times as text. Every form runs from the largest unit to the smallest, uses numbers rather than month names and pads each field to a fixed width. Dates written this way sort correctly as plain text.

A date can be written three ways, each with an extended form (with separators) and a basic form (without):

Form Extended Basic Meaning
Calendar date 2026-10-23 20261023 Year, month, day
Week date 2026-W43-5 2026W435 ISO year, week, weekday (1 = Monday)
Ordinal date 2026-296 2026296 Year, day of the year

All three name Friday 23 October 2026. The week date follows the ISO week rules explained on the week number page, and the ordinal date uses the day of the year.

Times, offsets and Z

A time is written hh:mm:ss on a 24-hour clock and joined to the date with a T: 2026-10-23T14:30:00. Seconds and minutes can be dropped for lower precision, as in 2026-10-23T14:30. Fractions go after the last unit with a decimal point, so 2026-10-23T14:30:00.250 is 250 milliseconds past the half hour. The standard allows a comma as the decimal sign too, but a point is far more widely accepted by software.

A time without anything after it is local time, and the standard does not say which zone. To fix the moment, add either Z for UTC or an offset from UTC:

  • 2026-10-23T14:30:00Z is 14:30 UTC.
  • 2026-10-23T10:30:00-04:00 is 10:30 at UTC minus 4 hours, which is the same moment.
  • 2026-10-23T16:30:00+02:00 is 16:30 at UTC plus 2 hours, again the same moment.

An offset is not a time zone. -04:00 says how far the clock was from UTC at that instant, not whether the place observes daylight saving time, so store the zone name separately if you need to compute future local times. The converter shows each input as the local form with offset, as UTC with Z and as Unix seconds (1792765800 for 14:30 UTC on 23 October 2026).

RFC 3339, the internet profile

RFC 3339 defines a strict subset of ISO 8601 for internet protocols, and many APIs that say “ISO 8601” actually expect it. Its main rules:

  • A date-time is YYYY-MM-DDThh:mm:ss, with optional fractional seconds, followed by Z or an offset such as +02:00. The offset is required.
  • Only the extended calendar date is used. Week dates, ordinal dates, the basic format and reduced precision such as 2026-10 are left out.
  • T and Z may be lowercase, but generators should write uppercase. Applications may use a space instead of T for readability.
  • An offset of -00:00 means the time is in UTC but the local offset is unknown, which is different from Z or +00:00.

So 2026-10-23T14:30:00Z is valid in both, while 2026-W43-5 and 20261023T143000Z are valid ISO 8601 but not RFC 3339.

ISO 8601 in software

Most languages write ISO 8601 directly:

  • JavaScript: new Date(Date.UTC(2026, 9, 23, 14, 30)).toISOString() returns 2026-10-23T14:30:00.000Z, always in UTC with milliseconds.
  • Python: datetime(2026, 10, 23, 14, 30, tzinfo=timezone.utc).isoformat() returns 2026-10-23T14:30:00+00:00, and datetime.fromisoformat() parses most ISO strings.
  • SQL: PostgreSQL accepts timestamptz '2026-10-23T14:30:00Z', and MySQL DATE and DATETIME literals use the same YYYY-MM-DD order.
  • Excel: =TEXT(A1,"yyyy-mm-dd") writes the calendar date, and =TEXT(A1,"yyyy-mm-dd""T""hh:mm:ss") adds the time. Excel stores no offset, so add Z only if the cell holds UTC. See the Excel date converter for how Excel stores dates.

Common mistakes with ISO 8601 dates

  • Swapping month and day. ISO order is always year, month, day. 2026-04-03 is 3 April, never 4 March, which is why it avoids the ambiguity of 03/04/2026 described on the date formats page.
  • Leaving out the offset. 2026-10-23T14:30:00 without Z or an offset is local time to whoever reads it. Send UTC with Z, or the local time with its offset.
  • Date-only strings in JavaScript. ECMAScript reads a date-only string such as 2026-10-23 as UTC midnight, but a date-time without an offset as local time. In time zones west of UTC, the first can display as 22 October.
  • Mixing basic and extended forms. 20261023T14:30 combines both and should be avoided; pick one style for the whole string.
  • Using the calendar year with a week number. 1 January 2027 is 2026-W53-5, so a week date needs the ISO year, not the calendar year.

Questions

What is the ISO 8601 date format?

YYYY-MM-DD: a four-digit year, two-digit month and two-digit day, separated by hyphens. 23 October 2026 is 2026-10-23, or 20261023 in the basic form.

What does the Z at the end of an ISO 8601 time mean?

Z means the time is in UTC, the same as an offset of +00:00. 2026-10-23T14:30:00Z is 14:30 UTC.

Is RFC 3339 the same as ISO 8601?

RFC 3339 is a stricter profile of ISO 8601 for internet protocols. It requires a full date, a full time with seconds and an offset, and leaves out week dates, ordinal dates and the basic format.

How do I write an ISO 8601 date with milliseconds?

Add a decimal point and the digits after the seconds: 2026-10-23T14:30:00.250Z. JavaScript's `toISOString()` always writes three digits.

How do I convert ISO 8601 to a Unix timestamp?

Parse the string with its offset and count seconds since 1970-01-01T00:00:00Z. 2026-10-23T14:30:00Z is 1792765800; the Unix timestamp converter handles milliseconds too.