Cron Schedule Calculator: Build an Expression and See When It Runs

· 2 min read

Most cron mistakes are visible only when the job runs at the wrong time. This calculator shows you the run times first. Edit any field, or start from a preset, and the plain-English meaning and the next five runs update as you type.

Run times are shown in UTC. Cron itself uses the server’s timezone, so check which one your host is set to.

How to read the result

The expression line is what you paste into a crontab, a CI schedule, or a scheduler UI. The sentence below it is the meaning. If the sentence is not what you intended, the expression is wrong, not the calculator.

The five runs are the part worth reading. They catch the errors that read as correct:

  • 0 9 1,15 * 1 runs on the 1st, the 15th, and every Monday. When both day fields are restricted, cron runs the job if either matches.
  • */45 * * * * is not every 45 minutes. Steps restart each hour, so it runs at :00 and :45. Check the run list and you will see the 15-minute gap.
  • 30 2 * * * skips a night when clocks change in a timezone with daylight saving.

Field reference

FieldRangeAccepts
Minute0–59*, lists 1,5, ranges 1-5, steps */10
Hour0–23same
Day of month1–31same
Month1–12same, or jan–dec
Day of week0–7same, or sun–sat; 0 and 7 are both Sunday

For the edge cases in more depth, see the cron syntax cheat sheet and the common crontab mistakes. To check a single expression on its own page, use the cron expression parser.