cal is the built-in Unix/Linux/macOS command-line calendar tool. Learn its history, usage, options, and how it differs from ncal and gcal.
cal is a command-line utility that prints a plain-text calendar to the terminal. It is not a commercial product or company; it is one of the original small utilities from early Unix, written by Doug McIlroy for the first PDP-11 Unix implementation around 1971 and present in Version 6 AT&T UNIX.
Because of that lineage, cal is specified in the Single UNIX Specification and ships by default with virtually every Unix-like operating system, including Linux distributions, macOS, and other BSD systems - there is nothing to install, sign up for, or pay for.
With no arguments, cal prints the current month; it also accepts a month and year to display an arbitrary month, or a single year to print all twelve months at once. Common flags control whether weeks start on Sunday or Monday and whether Julian (day-of-year) dates are shown.
A frequently cited historical detail is cal's handling of the September 1752 Julian-to-Gregorian calendar switch, when eleven days were dropped from the calendar in Britain and its colonies - many implementations still reproduce this gap when run against that specific month and year.
cal is free and included by default with the operating system; there is no license, subscription, or paid tier. Related tools like ncal and the more feature-rich GNU gcal are separate, optional utilities on some systems.
cal prints a plain-text calendar to the terminal, showing the current month by default or any specified month or year.
Yes, cal is a free, built-in command-line utility included by default with Unix-like operating systems; there is no cost or license involved.
Running cal followed by just a year (e.g. cal 2026) prints all twelve months of that year.
The core functionality is the same, but macOS/BSD and Linux (GNU/util-linux) implementations can differ slightly in default formatting and supported flags.
ncal is a related utility, available on most of the same systems, that displays the calendar in an alternate vertical layout compared to cal's default horizontal grid.