dev101.io

ISO 8601 Week Date Parser

Parse YYYY-Www-D week dates into a calendar date and day-of-week.

← Back to the full ISO 8601 Parser

Loading tool…

The ISO 8601 week-date format

ISO 8601 week dates use the form YYYY-Www-D: a four-digit week-numbering year, the literal letter W, a two-digit week number from 01 to 53, and a day of the week from 1 (Monday) to 7 (Sunday). The example 2024-W11-4 means "Thursday of the 11th ISO week of 2024", which resolves to 14 March 2024.

Two rules make ISO weeks different from the naive "how many Sundays have I seen" count most calendars use:

  1. Weeks start on Monday. ISO 8601 is unambiguous on this — day 1 is Monday, day 7 is Sunday. If your locale renders Sunday as day 1, convert before comparing.
  2. Week 01 is the week containing the year's first Thursday. Equivalently, it's the week containing 4 January. That means 1 January itself can belong to week 52 or 53 of the previous year — e.g. 1 January 2023 was Sunday and sits in week 52 of 2022, so its ISO week date is 2022-W52-7.

Because of rule 2, the week-numbering year doesn't always match the Gregorian year. A date like 2024-W01-1 (Monday 1 January 2024) is the same as 2024-01-01, but 2025-W01-1 is 2024-12-30 — the Monday before New Year's Day 2025 is when week 01 of 2025 begins.

Some years have 53 weeks instead of 52: those are the years where 1 January or 31 December falls on a Thursday (or on a Wednesday in a leap year). 2020 and 2026 are examples.

Paste a week date below and the parser will give you the Gregorian date, day of week, and every sibling representation (Julian day, ordinal date, Unix timestamp).

Frequently asked questions

Why does 1 January 2023 belong to ISO week 52 of 2022?

Because ISO week 01 is defined as the week containing the year's first Thursday, and the first Thursday of 2023 is 5 January. The week starting Monday 26 December 2022 therefore ends on Sunday 1 January 2023, and the whole week belongs to 2022 in ISO numbering. This is intentional — it keeps every ISO week entirely within a single year and makes "week 52" a stable calendar unit you can aggregate sales, shifts, or metrics into without splitting a week across the New Year boundary.

How do I know if a year has 53 ISO weeks?

A year has 53 ISO weeks exactly when 1 January is a Thursday, or when 1 January is a Wednesday in a leap year. 2020, 2026, 2032, and 2037 are recent / upcoming examples. If your application buckets data by ISO week, expect one in every ~5-6 years to have an extra week — plan your charts and dashboards to handle both 52- and 53-week years instead of hard-coding 52.

How is this different from PostgreSQL's EXTRACT(WEEK ...) or MySQL's WEEK()?

PostgreSQL's "WEEK" extract is ISO-compatible by default, but older MySQL modes and SQLite's strftime('%W') use a different convention (week 00 starting on the first Sunday or Monday of the calendar year, weeks can be 1-53 with different boundary rules). If you're generating reports that cross systems, always specify ISO (e.g. MySQL's WEEK(date, 3) mode or YEARWEEK(date, 3)) and compare to this tool's output as ground truth.

Other ISO 8601 Parser cases

This is a variant landing page for ISO 8601 Parser. Every transform runs in your browser — nothing you paste is sent to our server or any third party.