Skip to content
100% local

Text calendar generator

Print a month or a full year as a plain-text calendar, aligned into columns.

Output

Text calendar generator

Paste this into a plain-text note, a README, a terminal banner or a code comment: this tool prints a calendar for one month, several consecutive months, or a whole year, laid out entirely with monospaced characters so every column of dates lines up without a table or an image.

Set the starting month and year, or leave both blank to start from today. "Number of months" extends the range forward from that starting point, and "Months per row" places that many month blocks side by side instead of stacking them, which is how a full year becomes a compact 3×4 or 4×3 grid instead of twelve tall columns. Choose whether weeks start on Monday or Sunday, switch on ISO week numbers, or turn on "Workdays only" to drop the weekend columns entirely for a work-schedule view. A list of dates in "Highlight dates" — birthdays, holidays, deadlines — gets wrapped in brackets wherever it appears, and the "Names language" option prints month and weekday names in a language of your choosing, independent of the page you're reading this in.

The calendar itself always uses real calendar arithmetic: month lengths, leap years and ISO 8601 week numbers are computed directly rather than approximated, so February 2028 correctly shows 29 days and a Sunday-first layout groups the same days into weeks as a Monday-first one, just in a different column order. Choose "Spaced" for a minimal, whitespace-aligned grid or "Boxed" for one with ASCII borders around every cell.

Everything runs in your browser: nothing about the month, year or the dates you choose to highlight is ever sent anywhere. When the result looks right, copy it, download it as a .txt file, or send it straight into another tool's input.

FAQ

Can I generate a whole year at once?
Yes. Set "Number of months" to 12 and "Months per row" to however many columns you want — 3 or 4 side by side is typical for a compact yearly overview.
How does highlighting dates work?
List dates in YYYY-MM-DD format, separated by commas, in the "Highlight dates" field. Any date that falls within the generated range is wrapped in brackets, like [24].
Does "Workdays only" change how weeks are numbered?
No. Week numbers and the grouping of days into rows are unaffected — Saturday and Sunday are simply hidden from the printed grid.
Can the calendar use a different language than the page?
Yes. The "Names language" option controls month and weekday names independently of the page language, so you can generate a German calendar while reading the English site.
Is my calendar data uploaded anywhere?
No. The calendar is generated entirely in your browser, including any dates you choose to highlight — nothing is sent to a server.