ISO Week Number Calculator (and the Two Conventions That Disagree)

ISO Week Number Calculator (and the Two Conventions That Disagree)

ISO 8601 week number, week-based year, day of week and day of year — beside the Sunday-start spreadsheet convention and the broadcast calendar, because all three are in use. 1 January 2027 is 2026-W53-5 and also week 1 of 2027.

ISO week, day of year, day of week — three conventions

A date → three week numbers, or a week → its Monday
1583 to 9999. ISO 8601 describes the Gregorian calendar, which began on 15 October 1582, so the page starts the following January rather than extrapolating backwards.
The default is 1 January 2027, which ISO puts in week 53 of 2026 — the case that breaks spreadsheets.
1 to 53. A year has 53 ISO weeks only if it starts or ends on a Thursday; ask for week 53 of a 52-week year and the page will tell you it belongs to the next year.
A calendar, not a circuit: twenty-one consecutive days from late December to the middle of January, one cell each, with the weekday initials above. The strip is anchored so that ISO week 1 always occupies the same seven cells — that bracket never moves, because ISO week 1 is by definition the week holding 4 January. The other two brackets DO move, and watching them move is the page. When 1 January falls on a Monday, Tuesday, Wednesday or Thursday all three conventions agree and the brackets line up. When it falls on a Friday, Saturday or Sunday, ISO week 1 begins AFTER 1 January — so 1 January belongs to the last week of the previous ISO year, while both other conventions put it in week 1 of the new year. That is the case that breaks a join between week-numbered and calendar-year data, and it happens in three years out of seven. The caret marks your own date when it falls inside the strip.
53Example

1 January 2027

Advertisement

One day number, three ways of counting weeks

JDN → weekday = JDN mod 7  ·  Monday of the week = JDN − (JDN mod 7)
ISO week 1 Monday = Monday of the week holding 4 January  ·  ISO week = (Monday − that Monday)/7 + 1
Sunday-start week = ⌊(JDN − Sunday on or before 1 January)/7⌋ + 1
JDN
Julian Day Number, the continuous day count. The weekday is its remainder on division by seven, with no calendar rules involved
4 January
always in ISO week 1, by construction, and the easiest way to state the rule. Equivalent to “the week holding the first Thursday”
week-based year
the year a week belongs to under ISO, which is the year holding its Thursday. Not always the calendar year of a given day
leap rule
divisible by 4, except centuries, except multiples of 400. 1900 no, 2000 yes

Worked example

1 January 2027
The Julian day number of 1 January 2027 is 2,461,407, and 2,461,407 mod 7 is 4, so it is a Friday
ISO week 1 of 2027 is the week holding 4 January 2027, whose Monday is 4 January — so 1 January is BEFORE the start of 2027's week 1
It therefore belongs to the previous ISO year. Week 1 of 2026 began on Monday 29 December 2025, and (Monday 28 December 2026 − 29 December 2025) ÷ 7 + 1 = week 53
So the full ISO week date is 2026-W53-5. The week-based year is 2026 even though the calendar year is 2027
The Sunday-start convention disagrees: week 1 of 2027 is the week holding 1 January, which begins on Sunday 27 December 2026, so it calls this day week 1 of 2027. The broadcast calendar calls it week 1 of 2027 too. Three conventions, two answers, and 52 weeks between them

Three conventions, and what each one actually says

ConventionWeek startsWeek 1 isWeeks in a yearWhere you meet it
ISO 8601 (ISO 8601-1:2019)Mondaythe week holding the first Thursday — equivalently, the week holding 4 January52 or 53European business, manufacturing schedules, ISO week dates like 2026-W53-5, Python’s isocalendar(), Excel’s ISOWEEKNUM and WEEKNUM with return_type 21
North American / spreadsheet defaultSundaythe week holding 1 January52, 53 or 54Microsoft Excel’s WEEKNUM with no second argument, and most US office practice. Microsoft calls it System 1
Broadcast calendarMondaythe week holding the first Sunday of January — equivalently, the first week whose Sunday falls in January52 or 53US television and radio scheduling and advertising billing. The Television Bureau of Advertising states it: “the standard broadcast week starts on Monday and ends on Sunday” and “the standard broadcast month ends on the last Sunday of the calendar month”
One finding worth recording, because it simplifies the picture: the broadcast week NUMBER is identical to Excel’s WEEKNUM with return_type 2 — System 1 with weeks beginning Monday — on every day of every year from 1900 to 2100, which this page checked rather than assumed. The two definitions look different and are equivalent, because the Monday-week containing 1 January is always the Monday-week containing the first Sunday of January. What the broadcast calendar adds is a YEAR: it assigns late-December dates to the following broadcast year, which WEEKNUM has no way to express. So there are three week-numbering rules in daily use and they can disagree about the number, the year, or both.

The cases where the conventions part company

DateWeekdayISO 8601Sunday-start (Excel default)BroadcastAll agree?
1 January 2016Friday2015-W53-52016, week 12016, week 1NO
1 January 2021Friday2020-W53-52021, week 12021, week 1NO
1 January 2027Friday2026-W53-52027, week 12027, week 1NO
1 January 2012Sunday2011-W52-72012, week 12012, week 1NO
31 December 2000Sunday2000-W52-72000, week 542000, week 53NO
31 December 2026Thursday2026-W53-42026, week 532027, week 1yes
31 December 2020Thursday2020-W53-42020, week 532021, week 1yes
2 August 1953Sunday1953-W31-71953, week 321953, week 31NO
9 March 2012Friday2012-W10-52012, week 102012, week 11yes
Every row here is checked against an independent implementation — Python’s own datetime for the ISO column, Microsoft’s published worked example for the Sunday-start one (9 March 2012 returns 10 with weeks beginning Sunday and 11 with weeks beginning Monday, both reproduced), and Tøndering’s calendar FAQ for 2 August 1953 = 1953-W31-7. The 1 January rows are the ones that break spreadsheets: when 1 January is a Friday, Saturday or Sunday it belongs to the LAST week of the previous ISO year, so 1 January 2027 is 2026-W53 while the Sunday-start convention calls it week 1 of 2027. And 31 December can go the other way: 31 December 2000 is in ISO week 52 of 2000 but is the fifty-FOURTH Sunday-start week of the year, a number no other convention produces.

52 or 53 ISO weeks, year by year

YearISO weeks1 January is a31 December is aLeap year?Highest Sunday-start week number
200052SaturdaySundayyes54
200152MondayMondayno53
200252TuesdayTuesdayno53
200352WednesdayWednesdayno53
200453ThursdayFridayyes53
200552SaturdaySaturdayno53
200652SundaySundayno53
200752MondayMondayno53
200852TuesdayWednesdayyes53
200953ThursdayThursdayno53
201052FridayFridayno53
201152SaturdaySaturdayno53
201252SundayMondayyes53
201352TuesdayTuesdayno53
201452WednesdayWednesdayno53
201553ThursdayThursdayno53
201652FridaySaturdayyes53
201752SundaySundayno53
201852MondayMondayno53
201952TuesdayTuesdayno53
202053WednesdayThursdayyes53
202152FridayFridayno53
202252SaturdaySaturdayno53
202352SundaySundayno53
202452MondayTuesdayyes53
202552WednesdayWednesdayno53
202653ThursdayThursdayno53
202752FridayFridayno53
202852SaturdaySundayyes54
202952MondayMondayno53
203052TuesdayTuesdayno53
203152WednesdayWednesdayno53
203253ThursdayFridayyes53
203352SaturdaySaturdayno53
203452SundaySundayno53
203552MondayMondayno53
203652TuesdayWednesdayyes53
203753ThursdayThursdayno53
203852FridayFridayno53
203952SaturdaySaturdayno53
204052SundayMondayyes53
The rule, stated correctly: an ISO year has 53 weeks if it STARTS OR ENDS on a Thursday. Read as “a common year starting Thursday or a leap year starting Wednesday” it is also right; read as “a common year starting Thursday or a leap year starting Wednesday” with the word common dropped it fails thirteen times per 400-year cycle, and 2004 is one of the failures — a leap year that starts on a Thursday. Van Gent’s analysis gives 71 long years in each 400-year cycle, and that cycle contains exactly 146,097 days, which is 20,871 whole weeks: 52 × 400 + 71 = 20,871. The ISO calendar therefore repeats exactly every 400 years, which the Gregorian calendar does too and the Julian one did not. The last column is the other convention’s oddity: the Sunday-start numbering reaches 54 in a leap year beginning on a Saturday — 1916, 1944, 1972, 2000, 2028, 2056 — a week 54 that exists in no other system.

Two conventions, three answers, and 1 January in the middle

Two different week-numbering conventions are in daily use and they disagree, and there is a third that disagrees with both about which year a week belongs to. ISO 8601 says weeks begin on Monday and week 1 is the week containing the first Thursday of the year — equivalently, the week containing 4 January. The North American convention, which is what Excel’s WEEKNUM does if you give it no second argument, says weeks begin on Sunday and week 1 is the week containing 1 January. Microsoft documents these as System 2 and System 1 respectively. And the broadcast calendar used by American television says weeks run Monday to Sunday and a week belongs to the month its SUNDAY falls in. Put a date into all three and you can get three different answers.

The case that breaks spreadsheets is 1 January. Under ISO, if 1 January falls on a Friday, Saturday or Sunday, it is in the last week of the PREVIOUS ISO year. 1 January 2027 is a Friday, so it is 2026-W53-5 — week 53 of 2026, not week 1 of 2027. The Sunday-start convention calls the same day week 1 of 2027. If a report groups by ISO week and a spreadsheet groups by WEEKNUM, the first week of January will not line up, and neither system is broken. The same thing happens at the other end: 31 December 2026 is a Thursday and sits in 2026-W53, while 31 December 2021, a Friday, sits in 2021-W52 — but 1 January 2022, a Saturday, is also 2021-W52. ISO’s week-based year is a separate thing from the calendar year and the page prints it as such.

A year has 52 or 53 ISO weeks, and the rule everybody repeats is slightly wrong. The correct statement is that an ISO year is long — 53 weeks — if it starts or ends on a Thursday. The version usually given, “a common year starting on Thursday or a leap year starting on Wednesday”, is also correct; the version that drops the word common and says “a year starting Thursday or a leap year starting Wednesday” looks the same and fails thirteen times per 400-year cycle. R.H. van Gent’s analysis at Utrecht gives 71 long years in each 400-year cycle, and 2004 — a leap year that begins on a Thursday — is one of the cases the sloppy form misses. The long years between 2000 and 2040 are 2004, 2009, 2015, 2020, 2026, 2032, 2037. There is a neat reason the pattern repeats exactly every 400 years: the Gregorian cycle is 146,097 days, which is 20,871 weeks precisely, and 52 × 400 + 71 = 20,871. The Julian calendar had no such property.

The Sunday-start convention can produce a week 54, which nothing else does. If 1 January falls on a Saturday in a leap year, week 1 holds a single day and 31 December starts the fifty-fourth week. It happens in 1916, 1944, 1972, 2000, 2028 and so on, every 28 years. No ISO year ever exceeds 53 and no broadcast year does either. If you have ever seen “week 54” in a report, this is where it came from.

How the day of the week is found, with no loop and no lookup. Every date becomes a Julian Day Number — the running day count used in astronomy — and the weekday is that number modulo seven. That is exact and it involves no calendar rules at all. Zeller’s congruence and the Sakamoto method get the same answer with fewer operations and are the classical hand methods; the day-number route was chosen here because the page needs the day number anyway for the week arithmetic, and because a single integer is easier to verify than a formula with a table of month offsets in it. The leap rule is the Gregorian one: divisible by 4, except centuries, except multiples of 400 — so 1900 was not a leap year and 2000 was.

How this was checked. The ISO week date was computed for every single day from 1 January 1583 to 31 December 2500 — over 335,000 consecutive dates — and compared with Python’s datetime.date.isocalendar(), an independent implementation written in C, with no disagreements. The Sunday-start convention reproduces Microsoft’s own published worked example: 9 March 2012 returns 10 with weeks beginning Sunday and 11 with weeks beginning Monday. The published week date 1953-W31-7 for 2 August 1953, from Tøndering’s calendar FAQ, is reproduced. And the broadcast week number was shown identical to Excel’s Monday-start variant on every day of every year from 1900 to 2100 — a result that was not assumed but tested.

Range and scope. 1583 to 9999. ISO 8601 describes the Gregorian calendar, which began on 15 October 1582, and applying week dates to earlier years means agreeing first about which calendar you are in — so the page starts at the following January rather than extrapolating. The week-date rules moved to ISO 8601-1:2019 when the standard was split into parts; there is an Amendment 1 of 2022 carrying technical corrections, and a further edition in development. The standard itself is paywalled and is cited by number here, not reproduced. For converting an Islamic date, the Hijri to Gregorian converter. For clock time as a decimal fraction of an hour, the time to decimal hours converter.

Advertisement

Frequently asked questions

What ISO week is 1 January 2027 in?

Week 53 of 2026 — the full week date is 2026-W53-5. 1 January 2027 is a Friday, and under ISO 8601 a week belongs to the year containing its Thursday, so a Friday 1 January falls in the previous ISO year. The Sunday-start convention that Excel uses by default calls the same day week 1 of 2027. Both are correct within their own rules, which is exactly the problem.

Why do Excel and my colleague’s ISO week numbers differ?

Because Excel’s WEEKNUM uses System 1 unless you tell it otherwise: weeks begin Sunday and week 1 holds 1 January. ISO 8601 is System 2: weeks begin Monday and week 1 holds the first Thursday. Use ISOWEEKNUM, or WEEKNUM with return_type 21, to get the ISO answer. Near the start of January the two can differ by a whole week, and they will disagree about the YEAR as well.

How many weeks are there in a year?

52 ISO weeks in most years and 53 in a long one — a year that starts or ends on a Thursday. Between 2000 and 2040 the long years are 2004, 2009, 2015, 2020, 2026, 2032, 2037. There are 71 long years in each 400-year cycle. The Sunday-start convention can reach 53 or even 54: a leap year starting on a Saturday, such as 2000, has a week 54 because week 1 holds a single day.

Can 1 January be in week 52 or 53 of the previous year?

Yes, under ISO 8601, whenever 1 January is a Friday, Saturday or Sunday. 1 January 2016 and 1 January 2021 were both Fridays and both fall in week 53 of the year before; 1 January 2022, a Saturday, is in 2021-W52. This is why an ISO week date carries its own week-based year — 2015-W53-5, not 2016-W53-5 — and why joining week-numbered data to calendar-year data goes wrong every January.

Which day does the week start on?

Monday under ISO 8601 and in most of Europe and Asia; Sunday in the United States, Canada, Japan and much of the Middle East, and in spreadsheet defaults. The broadcast calendar used by American television starts on Monday even though American office practice starts on Sunday, which is one reason week numbers are worth stating rather than assuming.

Is the broadcast week the same as the American week?

No — and this page checked rather than guessed. The broadcast week runs Monday to Sunday, so it is NOT the Sunday-start convention. Its week NUMBER turns out to be identical to Excel’s WEEKNUM with return_type 2 (System 1, Monday start) on every day from 1900 to 2100, because the Monday-week containing 1 January is always the Monday-week containing January’s first Sunday. What the broadcast calendar adds is that it assigns late-December dates to the following broadcast year, which WEEKNUM cannot express.

How do I find the date of the Monday of a given week?

Take the Monday of the week containing 4 January of that ISO year and add seven days for each week. Switch this page to the second mode and it does exactly that, and it also checks whether the week you asked for exists: ask for week 53 of a 52-week year and you will be told, because the Monday you get belongs to week 1 of the following year.

How is the day of the week calculated?

From the Julian Day Number, the continuous count of days used in astronomy: weekday = day number modulo 7. It involves no calendar rules and cannot drift. Zeller’s congruence and the Sakamoto method are the classical hand formulas and give the same answer; the day number was used here because the week arithmetic needs it anyway. The leap rule behind the day number is the Gregorian one: divisible by 4, except centuries, except multiples of 400.

Which standard defines ISO week numbers?

ISO 8601-1:2019, Date and time — Representations for information interchange — Part 1: Basic rules, published February 2019 and replacing ISO 8601:2004; there is an Amendment 1 of 2022 with technical corrections, and a new edition in development. The week-date rules moved into Part 1 when the standard was split. The document is paywalled and is cited by number here rather than reproduced; the rules themselves are two sentences and are in the free sources listed below.

Related calculators

References

  1. ISO 8601-1:2019, Date and time — Representations for information interchange — Part 1: Basic rules, edition 1, published February 2019, with Amendment 1:2022 (technical corrections). It replaced ISO 8601:2004, and a further edition is in development. The standard is paywalled and was not read; the number, title, date and replacement record above are from ISO’s own catalogue entry, which was fetched. Its week-date rule is reproduced from the free sources below and checked against 335,000 dates.
  2. Tøndering, Claus. Frequently Asked Questions about Calendars, the ISO 8601 section (tondering.dk/claus/cal). “Week 1 of any year is the week that includes the first Thursday of that year”; “Monday is the first day of the week”; and the worked example this page checks against: 2 August 1953 is 1953-W31-7.
  3. van Gent, R.H., Utrecht University. The Mathematics of the ISO 8601 Calendar — Long and Short Years. Fetched. Gives 71 long years of 53 weeks in each 400-year cycle of 20 871 weeks, and corrects the rule everybody repeats: a year is long if it begins on a Thursday, OR if it is a leap year beginning on a Wednesday — stated as “common year starting Thursday or leap year starting Wednesday” it misses leap years that start on a Thursday, of which 2004 is one, and fails thirteen times per cycle.
  4. Microsoft. WEEKNUM function (support.microsoft.com). The authority for the other convention in daily use: System 1, which is the default, is “the week containing January 1 is the first week of the year, and is numbered week 1” with weeks beginning Sunday; System 2 is “the week containing the first Thursday of the year … the methodology specified in ISO 8601”. Its own worked example, 9 March 2012, returns 10 with weeks beginning Sunday and 11 with weeks beginning Monday; this page reproduces both, and the ISO answer for that date is also week 10.
  5. Television Bureau of Advertising. Broadcast Calendar — Nielsen Survey Dates (tvb.org). “The standard broadcast week starts on Monday and ends on Sunday” and “the standard broadcast month ends on the last Sunday of the calendar month”. That is a third convention, and it is the one the brief for this page confused with the Sunday-start spreadsheet convention above; the two are different rules that happen to give the same week NUMBER as Excel’s Monday-start variant, which this page checks over two centuries.
  6. Wikipedia, Broadcast calendar. “Every week in the broadcast calendar starts on a Monday and ends on a Sunday”; “the number of weeks in a broadcast month is based on the number of Sundays that fall in that month”; and it states the difference from ISO explicitly — both start the week on Monday, but ISO starts with the week containing the first Thursday and 4 January instead of the first Sunday and 1 January.