ISO 8601 Date Converter
Convert between ISO 8601, Unix timestamps, and local time
Leave the time blank to use midnight (00:00:00).
Recognizes ISO 8601 strings, Unix timestamps (s/ms/µs/ns, 10/13/16/19 digits), or 'YYYY-MM-DD HH:mm:ss'. If no offset is given, it's interpreted using the timezone selected below.
Working…
0.0
It hasn't frozen — the result will appear when the calculation finishes.
About ISO 8601 Date Converter
ISO 8601 is the international standard for writing dates and times from the largest unit to the smallest: year-month-day, a T, hours:minutes:seconds, and an offset from UTC, as in 2026-09-22T09:00:00+09:00. This converter takes a string like that, or a Unix timestamp, and gives you the UTC form, the same instant at an offset you choose, the timestamp in seconds and milliseconds, and the ISO weekday number.
The offset is what makes a timestamp unambiguous. Without one, 2026-09-22T09:00 is just “9 o'clock somewhere,” and the tool reads it as 9 o'clock at the offset selected below the input.
ISO 8601 versus RFC 3339
When API documentation says “ISO 8601,” it almost always means RFC 3339, a narrow Internet profile of ISO 8601. RFC 3339 requires a four-digit year, all fields down to seconds, and an offset (Z or ±hh:mm). JSON Schema's date-time format, many cloud APIs, and Atom feeds point to it.
ISO 8601 itself is much broader. The basic format without separators (20260922T090000Z), week dates (2026-W39-2), ordinal dates (2026-265), times truncated to minutes, durations (P1M) and intervals are all valid ISO 8601 but not RFC 3339 timestamps. RFC 3339, for its part, lets applications use a space instead of T for readability and reserves -00:00 to say “UTC time, local offset unknown.” The form that satisfies both is the plain one: 2026-09-22T00:00:00Z.
This tool reads the extended format (with hyphens and colons), date-only or date-plus-time. Besides calendar dates it reads week dates (2026-W39-2; without the weekday digit, Monday), ordinal dates (2026-265) and the basic format (20260922T090000Z). It accepts a space instead of T, a colonless offset like -0500 or -05, and lowercase z. A bare string of digits such as 20260922 or 2026265 is read as a Unix timestamp, so for a basic-format date alone add hyphens or a time (T0000). A duration such as P1M gets a message saying it is a length of time, not a point in time; a leap second (:60) is still rejected. Fractional seconds up to nine digits are accepted and cut to milliseconds.
Week dates: when is 2026-W39?
ISO weeks start on Monday, and week 1 is the week containing the year's first Thursday (equivalently, the week containing January 4). January 1, 2026 is a Thursday, so 2026-W01 begins on Monday, December 29, 2025. Add 38 weeks and 2026-W39 runs from Monday, September 21 to Sunday, September 27; Tuesday, September 22 is 2026-W39-2. The ISO weekday shown by the tool is that final digit.
Year boundaries are where this bites. Because 2026 starts on a Thursday, it has 53 ISO weeks, and Friday, January 1, 2027 is 2026-W53-5, not part of 2027. Excel's default WEEKNUM and the common U.S. convention (weeks start Sunday, week 1 contains January 1) number weeks differently; ISOWEEKNUM in Excel follows ISO. If a European supplier quotes “delivery in week 39” and your calendar app is set to U.S. week numbers, check which week they mean.
How long is P1M?
ISO 8601 durations start with P and split date and time parts with T: P1Y2M10DT2H30M is one year, two months, ten days, two hours and thirty minutes; PT36H is 36 hours. The letter M means months before the T and minutes after it, so P1M is a month and PT1M is a minute. That single character causes a surprising number of bugs in cache and token expiry settings.
P1M has no fixed length. Added to January 15 it's 31 days; added to February 15 it's 28. January 31 plus P1M isn't defined by the standard, and libraries differ: some clamp to February 28, others roll over into March. Across a U.S. daylight-saving change, P1D (same wall-clock time tomorrow) and PT24H (exactly 24 hours later) land an hour apart. When a duration decides a billing date or a subscription renewal, test what your library actually does. This converter doesn't do duration arithmetic; the date calculator handles adding calendar months.
An offset is not a time zone
-04:00 states one fact: at this instant, local time is four hours behind UTC. A time-zone name from the IANA database, such as America/New_York or Europe/London, is the full history and future of a region's offsets, including daylight-saving rules. New York is -04:00 in summer and -05:00 in winter.
Suppose in September you store a meeting for “November 10 at 9 a.m. in New York” as 2026-11-10T09:00:00-04:00. U.S. daylight saving time ends on November 1, 2026, so New York is at -05:00 that day and the stored instant is 8 a.m. local. Future local events should be stored as local time plus zone name. RFC 9557 (2024) standardizes a suffix for exactly this: 2026-11-10T09:00:00-05:00[America/New_York], and JavaScript's Temporal API uses the same notation. The offset picker in this tool is a fixed offset; it knows nothing about DST, so choose the offset that applies on the date you're converting.
The picker includes the unusual offsets real places use: +05:30 (India), +05:45 (Nepal), +09:30 (South Australia's winter offset), +12:45 (New Zealand's Chatham Islands in winter). Not every offset is a whole hour.
Worked examples
Seoul morning to UTC
- Input
2026-09-22T09:00:00+09:00- Output
UTC 2026-09-22T00:00:00.000Z / Unix 1790035200 / ISO weekday 2 (Tuesday)
As a week date it's 2026-W39-2; as an ordinal date, 2026-265.
The same instant in New York summer time
- Input
2026-09-22T09:00:00+09:00, display offset −04:00- Output
2026-09-21T20:00:00.000-04:00, ISO weekday 1 (Monday)
Changing the offset can change the date and weekday; both are computed at the selected offset.
A bare date
- Input
2026-09-22 with display offset −04:00- Output
UTC 2026-09-22T00:00:00.000Z, shown as 2026-09-21T20:00:00.000-04:00
Date-only input is read as UTC midnight, not midnight at the selected offset. JavaScript's new Date(“2026-09-22”) does the same, which is why date pickers in the Americas sometimes show the previous day.
Week date, ordinal date, basic format
- Input
2026-W39-2 / 2026-265 / 20260922T090000Z- Output
2026-09-22T00:00:00.000Z / 2026-09-22T00:00:00.000Z / 2026-09-22T09:00:00.000Z
All three come back in the extended calendar form. P1M gets a “duration, not a point in time” message, and the leap second 2016-12-31T23:59:60Z is still a date error.
How to use it
- Paste an ISO 8601 string or Unix timestamp, or pick a date and time.
- Choose the display offset, or press “Use my timezone.”
- Copy the UTC, offset or timestamp result you need.
Frequently asked questions
What does the trailing Z mean?
UTC, offset +00:00. It comes from the military time-zone letter Z, “Zulu.”
Is +0900 the same as +09:00?
Same offset. The colonless form is ISO 8601 basic notation; RFC 3339 requires the colon. The tool reads both.
How is a string without an offset interpreted?
With a time, at the selected display offset. Date only, as midnight UTC.
Is a plain number read as seconds or milliseconds?
It goes by digit count: up to 11 digits is seconds, 12 to 14 milliseconds, 15 to 17 microseconds, 18 or 19 nanoseconds (a current time has 10, 13, 16 or 19 digits). The Unix timestamp converter uses the same rule.
Which ISO week is December 31, 2026?
2026-W53-4. 2026 is a 53-week year because it begins on a Thursday.
Should I store UTC or local time?
Store past events as UTC instants. Store future local events (meetings, openings) as local time plus an IANA zone name, since DST rules can change before the date arrives.
Sources
- ISO 8601 — Date and time format (ISO)
- RFC 3339: Date and Time on the Internet: Timestamps
- RFC 9557: Date and Time on the Internet: Timestamps with Additional Information
- IANA Time Zone Database
Last reviewed: