Custom Calendar Maker
Pick a month, choose whether the week opens on Monday or Sunday, type what is happening, and print it. The events are the ones you write and nothing else: there is no holiday feed behind this page, so a national day only appears if you put it there, which is the honest position for a page read in every country and the reason nothing here needs a yearly data refresh. The dates themselves are integer arithmetic rather than a clock reading, so February 2024 has 29 days, 1 September 2026 falls on a Tuesday, and an event written 2026-09-04 stays on the 4th whatever timezone the machine is set to. Type one event a line, starting with the day number or a full date, and a line the tool cannot read is listed underneath with the reason and the text you wrote instead of being dropped. The page lays itself out for Letter or A4 in either orientation, and every event is printed again under the grid so a busy day that runs out of room still puts everything on the paper. Print goes through your browser's own print dialog, which is also how you get a PDF, and Download JSON keeps a copy of the month as plain civil dates. Years from 1583 to 4000, up to 400 events, no sign-up, and nothing typed here leaves the browser.
Choose a month and a year.Pick a month to draw.
Your events
One event a line, starting with the day of the month: 4 Invoices out. A full date works too: 2026-09-17 Dentist 2pm. Up to 400 lines, and everything you type stays in this browser.
Start each line with a day number from 1 to the length of the month, or with a full date written year, month, day. Lines the tool cannot read are listed underneath with the reason.
The printed page
Choose a month to lay the page out.
The same month, three ways
Each line is worked out by the code the tool runs, on the month you have open.
Dates run from 1583 to 4000, the years the Gregorian rules in this tool cover. A day cell draws the events that fit and counts the rest, and every event is listed again under the grid, so nothing typed is left off the page. Copy takes the month as plain text; Download JSON takes it as a small file of civil dates you can keep.
Common questions
- How do I add my own events?
- Type them into the events box, one a line, starting with the day of the month: 4 Invoices out. A colon, a dash, a full stop or a bracket between the day and the title is fine, so 4: Invoices out reads the same. A full date works too, written year, month, day: 2026-09-17 Dentist 2pm. That form is useful when you paste from somewhere else, and it is checked against the month on screen, so a date in October tells you it belongs to October rather than landing silently on the wrong day. A form like 4/9 is deliberately refused, because it means 4 September to half the world and 9 April to the other half. Blank lines are ignored, several events can share a day, and they keep the order you typed them in. One month holds up to 400 lines.
- Does it know public holidays?
- No, and it says so rather than shipping a list that would be wrong for most visitors. Holidays differ by country, by region and by year, several move with the moon or with a government announcement, and a bundled table would need replacing every year. So 25 December is an ordinary day in this tool until you write Christmas Day on it. What you get in exchange is a calendar that is the same for everyone, needs no network, and never adds a day off that your employer does not give you. If you want the holidays, type them: they are one line each and they print in the day cell.
- Can I start the week on Sunday instead of Monday?
- Yes, that is one switch and the grid redraws. Monday first is the ISO convention used across Europe and most of the world; Sunday first is normal in the United States, Canada and Japan. The same month drawn both ways is the same month with the columns shifted, and the tool shows you exactly how far: for September 2026 the 1st sits in the Tuesday column with a Monday start, and one column further along with a Sunday start. Nothing else changes, and the choice is remembered in this browser for the next visit.
- What size does it print, and can I get a PDF?
- Letter or A4, portrait or landscape, with 12mm margins, and the page tells you the day cell size in millimetres for whatever combination you choose. Print sends only the calendar to the print dialog, not the rest of the page, and your browser's own print dialog is where the PDF comes from: choose Save as PDF as the destination. There is no server in this, so nothing is uploaded and no watermark is added. A month that spills into a six-week grid is laid out to fit the same sheet rather than pushing a row onto a second page.
- What happens when a day has more events than fit in the box?
- The cell prints the ones that fit and then says how many more there are, and every event on the calendar is printed again in a list under the grid, so the paper carries all of them. Nothing is cut off in silence. If you would rather have more room for text in the cells, switch to portrait or turn the notes panel off: both give the week rows more height, and the page recalculates how many event lines a day cell holds. Landscape does the opposite: wider columns, shorter rows.
- What is the notes panel for?
- It is an optional block printed under the grid, up to 2,000 characters. Turn it on and leave it empty for a blank panel to write in by hand, or type into it for a standing reminder that belongs to the month rather than to one day: bin collection days, a chore rota, a shopping list, a phone number for the site office. It appears in the copied text and in the JSON file when it is switched on, and is left out entirely when it is off.
- Which years can I make a calendar for?
- From 1583 to 4000. The lower end is where the Gregorian calendar becomes a continuous rule, the year after the 1582 reform, and drawing an earlier month with these rules would print a month that never existed. Inside that range the arithmetic is exact: the leap rule includes the century exceptions, so 1900 has 28 days in February and 2000 has 29, and every weekday comes from the date itself rather than from your computer's clock. Anything outside the range is refused with a sentence naming the limit instead of drawing something wrong.
- Is my calendar saved or sent anywhere?
- It stays in this browser. The month, the week start, the paper, the orientation, your events and your notes are kept in local storage so the calendar is still there when you come back, and the Start over button above the tool forgets them. Nothing is uploaded, there is no account, and no event text is sent to analytics. If storage is blocked or full the tool still works, it just will not remember. Download JSON writes a small file of civil dates and titles to your own machine, which is the copy to keep if you want one outside the browser.
Exact Gregorian dates for the month you pick, with the week starting on the day you choose. It knows no holidays and fetches no calendar: the only events on the page are the ones you type, kept in this browser.