Menu

Search toolsChangelog

to move to openDescribe the problem, not the tool

The months that need six rows on a calendar

Because the grid has to hold the blank cells before the 1st as well as the days themselves, and once that total passes 35 it spills into a sixth row. It needs a 31-day month starting in the last two columns, or a 30-day month starting in the last column. August 2026 with a Monday start is one: the 1st is a Saturday, so five blank cells precede 31 days, which is 36 cells and six rows. On A4 landscape with a 12 mm margin that pulls every day box down to 27.33 mm tall from the 32.8 mm a five-row month gets.

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
6
Four, five or six. This is what decides how tall every day box can be.
Days in the month
31
Heading on the sheet
August 2026
The 1st falls on
Saturday
Column the 1st sits in
6
Blank cells before the 1st
5
Blank cells after the last
6
Day box width (mm)
39.00
Day box height (mm)
27.33
ISO week of the 1st
31
ISO week of the last day
36

The calendar

calendar-2026-08.svg · 4.1 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

1Saturday16312026-08-01
2Sunday17312026-08-02
3Monday21322026-08-03
4Tuesday22322026-08-04
5Wednesday23322026-08-05
6Thursday24322026-08-06
7Friday25322026-08-07
8Saturday26322026-08-08
9Sunday27322026-08-09
10Monday31332026-08-10
11Tuesday32332026-08-11
12Wednesday33332026-08-12
13Thursday34332026-08-13
14Friday35332026-08-14
15Saturday36332026-08-15
16Sunday37332026-08-16
What to take away
  1. Six rows need leadingBlanks plus days to exceed 35, so only a 31-day month starting in column six or seven, or a 30-day month starting in column seven, can do it.

  2. It happens two or three times in most years, and the sheets look visibly different from the rest because every box loses about a sixth of its height.

  3. Setting the space above the grid a few millimetres smaller for those months is usually enough to bring the boxes back to roughly the height of the other sheets in the set.

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

How often does a month need six rows?

Roughly a third of the time, and it depends on the start-of-week setting as much as on the month. A 31-day month beginning on either of the last two days of the week needs six rows, and February needs six only when it has 29 days and begins on the last day of the week.

Can I force every month into five rows?

Not without losing days or shrinking the cells until they are useless to write in. A fixed five-row grid is what makes some printed calendars fold the last two days into a single box — acceptable on a wall chart, wrong for anything you write appointments in.

Sources

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