Skip to content

Cron Explainer

Type a cron expression like 30 9 * * 1-5. See what it means in plain English and the next five times it runs, in your time zone or UTC. Handles lists, ranges, steps, month and weekday names and shortcuts like @daily.

Frequently asked questions

What do the five fields mean?

In order: minute (0–59), hour (0–23), day of the month (1–31), month (1–12 or JAN–DEC) and day of the week (0–7 or SUN–SAT, where both 0 and 7 are Sunday). * means every value, a-b a range, a,b a list and */n or a-b/n every n-th value.

What if I set both a day of the month and a weekday?

Standard cron then runs on days that match either one, not both. 0 0 13 * 5 runs at midnight on every 13th and on every Friday, not only on Friday the 13th. The explanation says "or" when this applies. A step such as */2 in a day field counts as restricted here (as cron-parser does); Vixie cron and cronie treat a field that starts with * as unrestricted, so 0 0 */2 * 1 runs only on Mondays there.

Which time zone does my job run in?

The one the machine running cron is set to, which on servers and in the cloud is often UTC. Switch the run times to UTC to see them that way. Around a daylight-saving change, a time that does not exist locally is left out here; real cron implementations differ.

Does it support seconds or Quartz syntax?

No. This explains standard 5-field cron (Linux crontab, GitHub Actions, Kubernetes CronJob). Quartz and Spring add a seconds field and use L, W and #, which are not read here.