How to Read a Cron Expression

Cron expressions schedule recurring tasks on Unix systems, CI pipelines, and cloud schedulers. They look cryptic but follow a simple five-field structure.

The five fields

* * * * *
│ │ │ │ │
│ │ │ │ └─ day of week (0–6, Sun=0)
│ │ │ └─── month (1–12)
│ │ └───── day of month (1–31)
│ └─────── hour (0–23)
└───────── minute (0–59)

Each field says when in that unit the job runs.

The symbols

SymbolMeaningExample
*every value* in hour = every hour
,list1,15 = at 1 and 15
-range1-5 = 1 through 5
/step*/15 = every 15

Reading examples

ExpressionMeaning
* * * * *every minute
0 * * * *every hour, on the hour
0 9 * * *every day at 9:00 AM
*/15 * * * *every 15 minutes
0 9 * * 1every Monday at 9:00 AM
0 0 1 * *midnight on the 1st of each month

A method for reading

Go field by field, left to right: minute, hour, day-of-month, month, day-of-week. Translate each, then combine. 30 8 * * 1-5 = "at 8:30, every weekday."

Try it

Paste any cron expression into the cron expression tool to get a plain-English description instantly.

Got a config file to check?

Open the config toolkit →