Cron Explainer
Read a schedule in plain English and see its next runs — Linux cron, Kubernetes, GitHub Actions, Quartz/Spring, AWS EventBridge and systemd timers.
How to use
- Pick where the schedule runs — each system reads cron differently.
- Paste the expression to read it in English, field by field.
- Check the next runs in the right time zone.
Where does this schedule run?
crontab(5): minute hour day-of-month month day-of-week
“At 09:00 on Monday through Friday.”
| Minute | 0 | 0 |
| Hour | 9 | 9 |
| Day of month | * | every value |
| Month | * | every value |
| Day of week | 1-5 | Mon, Tue, Wed, Thu, Fri |
Times inside a daylight-saving gap are skipped here; some schedulers run them late instead.
Common questions
What does */5 mean in cron?
“Every 5th value”: in the minute field, */5 runs at minutes 0, 5, 10 and so on. A range with a step, such as 10-30/5, runs at 10, 15, 20, 25 and 30.
Why does my cron job run on unexpected days?
In standard cron, if both day-of-month and day-of-week are set, the job runs when either matches. The explainer warns about this.
Which time zone does cron use?
The scheduler’s: the server’s time zone for crontab, .spec.timeZone for Kubernetes, and always UTC for GitHub Actions and EventBridge rules.
Known limitations
- systemd: "~" (days from the end of the month) is not supported yet.
- EventBridge rate() runs relative to when the rule was created, so next runs cannot be listed.
- Times inside a daylight-saving gap are skipped; some schedulers run them late instead.
- Browser extensions with access to this site can read the page. For sensitive data, use a private window with extensions off. How the lock works
Related reading on CipherMind
Standards & references
- crontab(5) — Linux cron (opens in a new tab)
- Quartz CronTrigger (opens in a new tab)
- AWS EventBridge schedule expressions (opens in a new tab)
- Kubernetes CronJob (opens in a new tab)
- GitHub Actions schedule (opens in a new tab)
- systemd.time(7) — OnCalendar (opens in a new tab)