Menu

Search toolsChangelog

to move to openDescribe the problem, not the tool

Month calendars with the week starting on Sunday

It changes the layout more than it looks like it should. Shifting the first column from Monday to Sunday moves every date one cell to the left, which changes how many blank cells sit before the 1st and therefore how many rows the grid needs. February 2026 is the clearest case: it begins on a Sunday, so a Monday-start grid pushes it into five rows while a Sunday-start grid fits the whole month in four. On A4 landscape with a 12 mm margin that is the difference between day boxes 32.8 mm tall and boxes 41 mm tall.

The proleptic Gregorian calendar, so 1583 is the earliest year this will lay out.

The month names on the sheet itself come from the language chosen below, not from this list.

This is the single setting that most often changes the number of rows. Try both.

Month and weekday names come from your browser's own locale data. Nothing is fetched.

Trimmed sizes, as the CSS Paged Media specification states them. An inch is exactly 25.4 mm.

Landscape by default, because seven columns across a short edge leaves very narrow boxes.

Blank border on all four sides. Most desktop printers cannot reach within about 5 mm of the edge.

Rows on the sheet
4
Four, five or six. This is what decides how tall every day box can be.
Days in the month
28
Heading on the sheet
February 2026
The 1st falls on
Sunday
Column the 1st sits in
1
Blank cells before the 1st
0
Blank cells after the last
0
Day box width (mm)
39.00
Day box height (mm)
41.00
ISO week of the 1st
5
ISO week of the last day
9

The calendar

calendar-2026-02.svg · 3.8 KB

Vector, dimensioned in millimetres, so every box prints at exactly the size quoted above. Print it from here to skip the page furniture, or save it and open it in anything.

Every day, and where it lands

1Sunday1152026-02-01
2Monday1262026-02-02
3Tuesday1362026-02-03
4Wednesday1462026-02-04
5Thursday1562026-02-05
6Friday1662026-02-06
7Saturday1762026-02-07
8Sunday2162026-02-08
9Monday2272026-02-09
10Tuesday2372026-02-10
11Wednesday2472026-02-11
12Thursday2572026-02-12
13Friday2672026-02-13
14Saturday2772026-02-14
15Sunday3172026-02-15
16Monday3282026-02-16
What to take away
  1. A month fits in the fewest possible rows exactly when its 1st falls in the first column, which is entirely a function of which day you start the week on.

  2. The saving is a whole row, not a small adjustment: dropping from five rows to four makes every day box a quarter taller on the same sheet of paper.

  3. ISO week numbers do not move with the column order. They always count Monday-to-Sunday weeks, so a Sunday-start grid shows a week number whose week began the day before the row does.

How it works

The formula

daysInMonth = 29 for February in a leap year, 28 otherwise
              30 for April, June, September, November
              31 for the rest

leap year   = year mod 4 = 0  and  (year mod 100 != 0  or  year mod 400 = 0)

firstColumn = 0 for a Sunday start, 1 for Monday, 6 for Saturday
              weekdays indexed Sunday = 0 … Saturday = 6

leadingBlanks  = (weekdayOfThe1st - firstColumn + 7) mod 7
cells          = leadingBlanks + daysInMonth
rows           = ceil(cells / 7)
trailingBlanks = rows x 7 - cells

for the dth day:
  offset = leadingBlanks + d - 1
  row    = floor(offset / 7) + 1
  column = (offset mod 7) + 1

ISO 8601 weeks run Monday to Sunday, and week 1 is the week holding the
year's first Thursday:

  isoWeekday = 1 for Monday … 7 for Sunday
  thursday   = dayNumber + (4 - isoWeekday)
  weekYear   = the calendar year that thursday falls in
  isoWeek    = floor((thursday - 1 January of weekYear) / 7) + 1

columns   = 8 when a week-number column is shown, otherwise 7
boxWidth  = (pageWidth  - 2 x margin) / columns
boxHeight = (pageHeight - 2 x margin - headingSpace) / rows

Every length is held as a whole number of micrometres up to that last
division. Every day number is integer arithmetic throughout.

What it assumes

  • Dates are computed in the proleptic Gregorian calendar for every year from 1583 onwards, which is why that is the earliest year offered. Britain and its colonies kept the Julian calendar until September 1752, so for a month before then this tool disagrees with the calendar people were actually using at the time — by ten days in 1583 and by eleven by 1752.
  • The day the week starts on is chosen explicitly rather than inferred from the language. CLDR does record a first day per territory, but it is keyed on region and not on language, so "French" alone does not answer the question — and the setting changes the row count, which makes guessing it wrong more than a cosmetic error.
  • ISO week numbers always count Monday-to-Sunday weeks, whatever day the grid starts on. A Sunday-start calendar therefore shows, against its first row, a week number for a week that began the day before that row does.
  • Every column is the same width and every row the same height, including the week-number column when it is switched on. Printed calendars often narrow the week-number column or the weekend, and none of those conventions is standard enough to compute from.
  • Paper sizes are trimmed sizes. Your printer's own hardware border, usually 4 to 6 mm and often wider at the trailing edge, is not deducted, so a margin below about 5 mm will be clipped by the printer rather than by anything here.
  • Month and weekday names come from the locale data built into the browser reading this page. A cut-down build of that data, which a few embedded and self-compiled runtimes ship, falls back to English without saying so.

Common questions

Which countries start the week on which day?

ISO 8601 and most of Europe start on Monday; the United States, Canada, Japan and much of Latin America start on Sunday. There is no correct answer, only the convention your reader expects — which is why it is a setting rather than a fixed choice.

Does the start of the week change the week numbers?

It can. ISO week numbers are defined with Monday as the first day, so a Sunday-start layout and ISO numbering disagree by a day at every boundary. If the week numbers matter — and in a work context they usually do — keep Monday as the start.

Sources

The full method, worked example and every assumption behind this figure are on Printable Month Calendar Planner.