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.

Other tools