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
| Symbol | Meaning | Example |
|---|---|---|
* | every value | * in hour = every hour |
, | list | 1,15 = at 1 and 15 |
- | range | 1-5 = 1 through 5 |
/ | step | */15 = every 15 |
Reading examples
| Expression | Meaning |
|---|---|
* * * * * | every minute |
0 * * * * | every hour, on the hour |
0 9 * * * | every day at 9:00 AM |
*/15 * * * * | every 15 minutes |
0 9 * * 1 | every 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 →