Printable monthly calendar PDF for any year

A printable monthly calendar PDF is a landscape month grid with the day numbers placed in the correct weekday columns, ready to print and write on. This page generates one in your browser for any year from 1900 to 2200 — a single month or the whole year as a 12-page PDF — with your choice of Monday or Sunday week start. Day placement is computed from real Gregorian calendar arithmetic, so the output is date-correct, including leap years.

Calendar generator — runs on your device

How it works

Two facts determine a month's layout: which weekday the 1st falls on, and how many days the month has. The generator computes the first from calendar arithmetic — the same day-of-week calculation implemented by every date library, which accounts for the Gregorian leap-year rule (divisible by 4, except century years not divisible by 400). The second comes from the month length table plus that same leap rule for February. Nothing is looked up from a stored set of templates, which is why any year between 1900 and 2200 works: February 2028 correctly shows 29 days, and February 2100 — a common trap, since 2100 is divisible by 4 but not by 400 — correctly shows 28.

With those two numbers, layout is deterministic. The page is set up in landscape (A4, 297 × 210 mm) and divided into a title band, a weekday header row, and a grid of 7 columns by up to 6 rows — six rows are needed whenever a 30- or 31-day month starts late in the week, such as a 31-day month beginning on the sixth column. The 1st is placed in the column matching its computed weekday, offset by one if you chose Monday start rather than Sunday start, and the remaining numbers simply flow left to right, wrapping every seven cells. Grid lines and text are drawn as vectors with an embedded standard font, so a full 12-page year is only a few tens of kilobytes.

In whole-year mode the generator repeats this per month, emitting twelve pages in calendar order into one PDF. Because each cell's width and height are fixed fractions of the physical page, printing at 100% scale ("Actual size") preserves the intended writing space per day; "fit to page" shrinks the grid and its margins by a few percent, which matters if you plan to trim or hole-punch the pages consistently.

Illustrative example: generating all of 2027

Illustrative scenario, not a recorded benchmark. File sizes, timings and results depend on the input and device. Try the reproducible samples.

Choose year 2027, whole year, Monday start. The generator computes that January 1, 2027 is a Friday, so the 1 lands in the fifth column of the Monday-start grid and January needs six rows (31 days starting Friday spill into a sixth week row ending Sunday the 31st). 2027 is not divisible by 4, so February gets 28 days and — starting Monday, February 1 — fits neatly in exactly four rows. The finished file is 12 landscape A4 pages, about 34 KB total, generated in under a second. Cross-checking against any reference calendar: July 4, 2027 falls on a Sunday, and that is exactly the column where the generated July page places it.

Frequently asked questions

Which years can the calendar generator handle?

Any year from 1900 to 2200, computed with real Gregorian calendar arithmetic rather than lookup tables. That includes correct leap years, so February 2028 gets 29 days and February 2100 correctly gets only 28.

Can the week start on Monday instead of Sunday?

Yes, you choose either start day before generating. Monday start is the ISO 8601 convention common in Europe, while Sunday start is standard in the US; the day numbers shift columns accordingly.

Can I print a whole year at once?

Yes, choose whole-year mode and the tool generates one landscape page per month, twelve pages in a single PDF. You can also generate just one month if that is all you need.

Why is the calendar landscape instead of portrait?

A month grid is seven columns wide but at most six rows tall, so landscape orientation gives each day cell more usable writing space. Print in landscape at 100% scale so the grid keeps its intended cell proportions.

Are leap years handled correctly?

Yes. The generator applies the actual Gregorian rule: years divisible by 4 are leap years, except century years, which must be divisible by 400. So 2024 and 2000 have a February 29 while 2100 does not.

Related tools