Many of us rely on at least a few calendars to keep our lives in order and to plan ahead. I have calendars on walls in my home and I interact with an electronic calendar on my smartphone and computers daily. But for all the flashy (and expensive) color-photo-beautiful calendars and other screen-based color-tricked-out electronic calendars, I sometimes just want to see all the months and days of the year in one place without having to see it on a screen, or without having to flip through month after month to see where a particular date falls. Fortunately, I came up with a free solution that makes it easy to generate a printable letter-sized calendar any time using a terminal and a minute of formatting. The solution I have works best on macOS or Linux, but the same results can be achieved by installing the Linux subsystem on Windows and formatting the text with a word processor such as Libre Office.

Creating a Calendar using macOS

To make a single-page printable yearly calendar, do the following.

  1. Open the terminal. You can use Spotlight (COMMAND + SPACEBAR) to search for terminal.
  2. Enter cal, followed by the year to print., then hit ENTER. For example:

cal 2024

The year’s calendar corresponding to the year you entered will be output to the screen. This will work for virtually any past or future year (year 1 to 9999).

Outputting the Calendar to a Text File

You can easily have the terminal output the calendar as text to a file. With the terminal active, change the path to the current local Desktop by entering the following command:

cd ~/Desktop

Direct the output from the terminal to a text file with this command:

cal 2024 > 2024.txt

This will save a text file to your desktop with the text of the entire calendar. You can then open the text file in Preview, then format it by following the steps listed below.

Manually Copying and Pasting the Calendar to a Text File

You can use the computer clipboard to copy and paste the text from the terminal into macOS Preview. To do this, follow the steps below.

  1. Copy the entire calendar, beginning before the year at the top, all the way to the end of the last day of the year.
  2. Open a new Preview document and paste the contents from the clipboard.
  3. With the text from the calendar in an open file in Preview, format the calendar by following the steps below.

Formatting the Calendar

The typeface needs to be monospaced to maintain the formatting from the copied terminal text. An easy to read monospaced typeface for macOS is Menlo, which is preinstalled.

  1. Select all the pasted text in the document and set it to Menlo Regular 12.
  2. Double-click the year of the calendar and set it to Menlo Regular 24.
  3. Double-click each month to quickly select just the month name, and boldface it. This will make the month names use the Menlo Bold 12 typeface.
  4. Save the document.

That's it.

You can now print the document, which should print well as a portrait-oriented page, or you can save the document as a PDF and have a simple to use or print calendar any time.