What Is ISO 8601? International Date Format Standard
Last updated October 18, 2026
One-line definition: ISO 8601 is the international standard for writing dates and times as text. A full timestamp looks like 2026-06-04T14:00:00Z, where the Z means a zero offset from UTC. Putting the year first removes the April-6-vs-June-4 confusion of dates like 04/06. To turn a Unix timestamp into this format, use the epoch time converter.
What ISO 8601 Looks Like
ISO 8601 has several valid formats depending on how much detail you need. The last three rows below are the same instant:
2026-06-04Date only14:00:00Time only2026-06-04T14:00:00Date and time with no offset (read as local time)2026-06-04T14:00:00ZDate and time in UTC (Z = zero offset)2026-06-04T09:00:00-05:00The same moment, written with a UTC-5 offset2026-06-04T19:30:00+05:30The same moment again, written with India's UTC+5:30 offsetWhy ISO 8601 Exists
The problem ISO 8601 solves: date formats are not universal. “04/06/2026” means April 6 in the US and June 4 in the UK and most of Europe. “6/4/26” is ambiguous to anyone who doesn't know the sender's country. This causes genuine errors in international business, software, and data exchange.
ISO 8601 always uses year-month-day order, with zero-padded fields. “2026-06-04” is June 4, 2026 in any locale. Because the fields run from largest to smallest, sorting the strings alphabetically also sorts them in time order, which makes log files and database indexes easy to handle.
One catch: that only works when every string uses the same offset. Take 2026-06-04T23:00:00+05:30 (17:30 UTC) and 2026-06-04T20:00:00Z (20:00 UTC). Sorted as text, the Z one comes first, but the +05:30 one actually happened earlier. Store everything in UTC and the problem goes away.
The T Separator and the Z Suffix
In a full ISO 8601 datetime string, T separates the date from the time. It's not a word, just a delimiter.
The trailing Z is the zone designator for a zero offset from UTC. It's spoken “Zulu,” the aviation and military name for the same thing. A timestamp ending in +05:30 is 5 hours and 30 minutes ahead of UTC, like India.
A timestamp with no Z or offset isn't in UTC. The standard says to read it as local time, but it doesn't say whose. That's a common source of bugs: a datetime saved without a zone is ambiguous unless you know what zone the server was in when it wrote it.
More Than Dates and Times
The standard also covers week numbers, day-of-year dates, durations, and intervals. The first edition came out in 1988, with revisions in 1991, 2000, 2004, and 2019, and an amendment in 2022.
| Form | Example | Meaning |
|---|---|---|
| Basic date | 20260604 | Same date without hyphens. Hard to read, so avoid it in plain text. |
| Week date | 2026-W23-4 | Thursday of ISO week 23 (June 4, 2026) |
| Ordinal date | 2026-155 | The 155th day of 2026 (June 4) |
| Duration | PT1H30M | One hour and thirty minutes |
| Interval | 2026-06-04T14:00:00Z/PT1H | One hour starting at 14:00 UTC |
Most web APIs use a stricter subset defined in RFC 3339, a profile of ISO 8601 for internet timestamps. It requires an offset or Z on every timestamp, allows a space instead of the T for readability, and leaves out durations.
ISO 8601 vs Unix Time
ISO 8601 and Unix time can describe the same moment. 2026-06-04T14:00:00Z is Unix time 1780581600. The Unix number is a count of seconds with no timezone attached, while the ISO string spells out its own offset.
Systems store either one, and both work. What matters is being consistent and keeping the zone clear: a Unix integer is always UTC, and an ISO string should end in Z or an explicit offset.
Frequently Asked Questions
What is the ISO 8601 date format?
The ISO 8601 date format is YYYY-MM-DD: year, then month, then day, separated by hyphens. For example: 2026-06-04. The full datetime format is YYYY-MM-DDTHH:MM:SSZ, where Z means UTC, or it can end in an offset like +05:30.
What does the Z mean in a timestamp?
Z is the zone designator for a zero offset from UTC, spoken "Zulu". A timestamp ending in Z, like 2026-06-04T14:00:00Z, is in UTC. It is the unambiguous way to say a datetime is in Coordinated Universal Time.
Is ISO 8601 the same as UTC?
No. ISO 8601 is a format standard for representing dates and times as strings. UTC is a time standard. ISO 8601 can represent times in any timezone, including UTC. When a timestamp ends in Z, it is ISO 8601 format representing UTC time.
Why do ISO 8601 dates sort correctly as text?
The fields run from largest to smallest (year, month, day, hour, minute, second) and are zero-padded, so alphabetical order matches time order. This only holds when all strings share the same offset, for example all in UTC.
What does a timestamp without a Z or offset mean?
ISO 8601 says to read it as local time, but it does not say whose local time. That makes it ambiguous, so use Z or an explicit offset whenever the timestamp will be shared or stored.
What is the difference between ISO 8601 and RFC 3339?
RFC 3339 is a profile of ISO 8601 for internet timestamps. It requires a Z or an offset on every timestamp, allows a space in place of the T, and does not include durations.
Related Tools & Terms
Sources: ISO 8601 date and time format, RFC 3339, ISO 8601 (Wikipedia)