ISO Week Numbers Explained — Why January 1 Is Sometimes in Week 52

Most people assume that week 1 is the first week of January. It isn't — at least not under ISO 8601, the international standard used across most of Europe, manufacturing, broadcasting, and business software worldwide.

Under ISO 8601, week 1 is the week containing the first Thursday of the year. That single rule determines everything, including some results that feel wrong until you understand the logic.

The Four Rules of ISO Week Numbering

Everything follows from four facts:

1. Weeks always run Monday to Sunday 2. Week 1 is the week containing the year's first Thursday 3. A year has either 52 or 53 weeks 4. The week number belongs to the year that contains its Thursday — not its Monday

That last point is the one that trips people up. The year a week belongs to is determined by where its Thursday falls, not by what most of the days are.

Why Thursdays?

The Thursday rule exists because it guarantees that week 1 always contains at least 4 days of the new year. It's also equivalent to saying: week 1 is the week containing January 4th (since January 4th is always in the first week under this definition).

The practical effect: if January 1st falls on a Friday, Saturday, or Sunday, it's part of the final week of the previous year — because the Thursday of that week is in December.

The Year-Boundary Cases

Here's where it gets interesting:

January 1 can fall in week 52 or 53 of the previous year.

If January 1 is a Friday: Thursday of that week is December 31. The week belongs to last year. If January 1 is a Saturday: Thursday is December 30. Same — last year's week. If January 1 is a Sunday: Thursday is December 28. Still last year.

In these cases, January 1, 2, or even January 3 can carry the week number of the previous year.

December 31 can fall in week 1 of the following year.

If December 31 is a Monday, Tuesday, or Wednesday: Thursday of that week is in January. The week belongs to the next year.

January 1 dayWeek 1 startsJan 1 is in week
MondayJanuary 11
TuesdayDecember 311
WednesdayDecember 301
ThursdayDecember 291
FridayJanuary 452 or 53 of prev year
SaturdayJanuary 352 or 53 of prev year
SundayJanuary 252 or 53 of prev year

How Many Weeks in a Year?

Most years have 52 weeks. Some have 53.

A year gets a 53rd week when January 1 falls on Thursday (any year), or when January 1 falls on Wednesday in a leap year. About 71% of years have 52 weeks; roughly 29% have 53.

Years with 53 weeks in the recent past and near future: 2004, 2009, 2015, 2020, 2026, 2032.

ISO Weeks vs. US-Style Week Numbering

The US system — and systems that follow it — define week 1 differently: it's simply the week containing January 1. Weeks run Sunday to Saturday.

This produces different results, especially near year boundaries:

DateISO weekUS week
January 1, 2023 (Sunday)Week 52, 2022Week 1, 2023
January 1, 2024 (Monday)Week 1, 2024Week 1, 2024
December 31, 2024 (Tuesday)Week 1, 2025Week 53, 2024

SQL Server's DATEPART(week, ...) defaults to the US system. Excel's WEEKNUM() defaults to US-style. PostgreSQL's EXTRACT(week ...) follows ISO. Python's isocalendar() is ISO. JavaScript has no built-in — you calculate it manually or use a library.

This mismatch causes subtle bugs when week numbers cross between systems. If a report generated in Excel is compared against data from a PostgreSQL query near December or January, the week numbers can disagree.

Practical Uses of ISO Week Numbers

Manufacturing and supply chains

ISO weeks are the lingua franca of production planning. A factory schedule for "W14" means the same thing to a supplier in Germany, a logistics team in the Netherlands, and a quality control report in the UK. The week number is unambiguous; calendar dates are not.

Broadcasting

TV ratings, advertising slots, and broadcast schedules are organised by week number. A "Week 1" campaign starts on the Monday of ISO week 1, full stop. This lets international productions coordinate across time zones and calendars without converting dates.

Project planning

Many enterprise project tools (SAP, Jira, Microsoft Project) display timelines in ISO week numbers. Sprint planning cycles, delivery windows, and capacity planning all benefit from a consistent, year-round numbering system that doesn't reset mid-week.

Financial reporting

Some companies report quarterly results aligned to ISO weeks rather than calendar months, because ISO weeks give equal-length reporting periods. 13-week quarters (4+4+5 week cycles) are common in retail.

Agriculture and food production

"Best before Week 32" on a packaged product follows ISO numbering. The week-year format YYYY-Www (e.g. 2024-W32) is a valid ISO 8601 date format and appears on labelling, batch records, and shelf-life tracking across the food industry.

Writing ISO Week Dates

ISO 8601 defines a standard notation for week dates:

YYYY-Www-D

Where:

  • YYYY is the ISO week year (which may differ from the calendar year at boundaries)
  • Www is the week number, zero-padded, prefixed with W
  • D is the day number: 1 = Monday, 7 = Sunday

Examples:

  • 2024-W01-1 = Monday of ISO week 1, 2024 (January 1, 2024)
  • 2024-W53-5 = Friday of ISO week 53, 2024 (January 3, 2025)
  • 2026-W01-4 = Thursday of ISO week 1, 2026 (January 1, 2026)

Note that 2024-W53-5 belongs to week-year 2024 even though the date is in January 2025. This is the ISO week year, not the calendar year.

Calculating ISO Week Numbers

The formula is well-defined but not trivial to implement correctly. The general approach:

1. Find the Thursday of the week containing your date (add or subtract days to land on Thursday) 2. Determine which year that Thursday belongs to 3. Count how many weeks from January 4 of that year to your Thursday (since January 4 is always in week 1)

In practice, use your language's built-in:

// Python — returns (year, week, weekday)
from datetime import date
date(2024, 12, 31).isocalendar()
# IsoCalendarDate(year=2025, week=1, weekday=2)

// JavaScript — no built-in, manual calculation
function isoWeek(date) {
  const d = new Date(date)
  d.setHours(0, 0, 0, 0)
  d.setDate(d.getDate() + 3 - (d.getDay() + 6) % 7)
  const week1 = new Date(d.getFullYear(), 0, 4)
  return 1 + Math.round(((d - week1) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7)
}

// PostgreSQL
SELECT EXTRACT(week FROM DATE '2024-12-31');
-- Returns 1 (ISO week 1 of 2025)

// SQL Server — ISOWK is ISO-compliant
SELECT DATEPART(isowk, '2024-12-31');

Common Mistakes

Using the calendar year instead of the ISO week year. December 31, 2024 is in week 1 of 2025, not week 53 of 2024. If you label it "2024-W01" you have the wrong year.

Assuming week 1 starts on January 1. It doesn't. January 1 is often not in week 1.

Mixing US and ISO week numbers in the same report. If one data source uses ISO and another uses US-style, you'll get silent mismatches around year-end that are hard to debug.

Off-by-one in week counts. Some implementations return week 0 for early January dates that belong to the previous year. The correct answer is the week number from the previous year's calendar, not 0.

What "W01" Actually Means in Practice

The simplest way to remember it: ISO week 1 is the first week of the year that has a majority of its days in the new year. Majority meaning at least 4 out of 7 days.

A week that straddles December and January will belong to whatever year gets the most days. Thursday is the middle day of a 7-day week starting Monday, which is why Thursday acts as the tiebreaker.

Checking Any Date's Week Number

The ISO Week Number Calculator shows the week number for any date, including the full Monday–Sunday range of that week and the complete year calendar. You can also check today's ISO week number directly on the current week number page.