Date & Time
ISO 8601 Parser
Decode any ISO 8601 date / time string - parts, week, day-of-year, offset.
ISO 8601 input
Accepts YYYY-MM-DDTHH:MM:SS, YYYYMMDDTHHMMSSZ, YYYY-Www-D, and date-only forms.
Normalised ISO 8601
2025-09-30T09:00:00.000Z
Input offset: +05:30
Parts (UTC)
Year
2025
Month
09
Day
30
Hour
09
Minute
00
Second
00
Millisecond
000
Day of year
273
ISO week
2025-W40-2
Weekday (Mon=1, Sun=7) and week number per ISO 8601.
In your local timezone
Tue, 30 Sept 2025, 09:00:00
Local offset: UTC+00:00
Unix
Unix seconds
1,759,222,800
Unix milliseconds
1,759,222,800,000
About this tool
Paste any ISO 8601 string (`2025-09-30T14:30:00+05:30`, `2025-W40-2`, `20250930T143000Z`) and see every component decoded: year, month, day, hour, minute, second, fractional seconds, timezone offset, week number, day-of-year, and the equivalent epoch milliseconds. Also handles partial / extended / basic formats per the standard.
FAQs
Which ISO 8601 variants are supported?
Extended (YYYY-MM-DDTHH:MM:SS) and basic (YYYYMMDDTHHMMSS), week dates (YYYY-Www-D), ordinal dates (YYYY-DDD), and durations (PT1H23M). Time-only and date-only forms also parse.
What's the difference between extended and basic format?
Extended uses separators (dashes, colons): 2025-09-30T14:30. Basic skips them: 20250930T1430. APIs sometimes use basic to save bytes; logs and databases usually use extended.
How is the week number calculated?
ISO week-numbering: week 1 is the week containing the first Thursday of the year. Weeks run Monday-Sunday. Some years have 53 weeks (the previous Dec 28-31 or Jan 1-4 carry over).
Why does parsing a date-only string show 00:00 UTC?
Per ECMAScript, a bare YYYY-MM-DD is interpreted as UTC midnight. A bare YYYY-MM-DDTHH:MM (no offset) is interpreted as local time. Add a Z or ±HH:MM to disambiguate.