How to use this calculator
- Enter or choose cron expression.
- Enter or choose start date.
- Enter or choose start time.
- Enter or choose runs to list.
- The next run updates as you type. Use Copy result or Share to keep it.
Method
A minute matches when minute, hour and month are in their sets and the day matches. Day rule (crontab(5)): if day-of-month or day-of-week starts with “*”, both must match; if both are restricted, either may match. Runs are listed strictly after the start minute.
- Fields
- minute 0–59, hour 0–23, day of month 1–31, month 1–12 or JAN–DEC, day of week 0–7 or SUN–SAT (0 and 7 are Sunday)
- a-b/n
- every n-th value from a to b; * means first–last
Worked example
- 0 9 * * 1-5 means minute 0 of hour 9, Monday to Friday.
- Thursday 29 October 2026 at 10:00 is after 09:00, so today’s run has passed.
- The next run is Friday 30 October at 09:00, 23 hours = 1,380 minutes later.
Starting Thursday 29 October 2026 at 10:00, “0 9 * * 1-5” next runs on Friday 30 October at 09:00.
What the result means
Check the listed times against your intent before deploying, especially when both day fields are set: “0 0 1 * 1” runs on the 1st and on every Monday, not only on Mondays that are the 1st.
Assumptions and limits
- Times are in the cron daemon’s own clock (its time zone); daylight-saving gaps and repeats are not modelled.
- Syntax follows Vixie cron / cronie as documented in crontab(5).
- Quartz and cloud schedulers with a seconds or year field, or L, W and # modifiers, use different syntax and are not supported.
Questions
Why did my job run on a day I did not expect?
When both day-of-month and day-of-week are restricted, cron runs when either matches. Make one of them * to require only the other.
Does */2 in the day-of-month field count as restricted?
In cronie it does not: the implementation checks only whether the field starts with *, so */2 is treated like * for the either-or rule. This calculator follows that behaviour.