Cron Expression Generator and Explainer
Paste a cron expression to see what it does in plain English, field by field, and when it runs next in the time zone you pick. Works with crontab, Kubernetes, GitHub Actions and Quartz. You can also build the expression from the schedule you want.
Type or paste an expression
Or pick one of the examples. The explanation and the next runs show up here.
Build an expression
Pick how often and at what time. The expression uses the format selected above.
0 9 * * 1-5At 09:00, Monday through FridayWhat is a cron expression
It's a line of space-separated fields that says when a job runs. Linux crontab, Kubernetes CronJob and the GitHub Actions schedule use 5 fields. Quartz, a Java scheduler, adds seconds at the start and an optional year at the end.
The 5 fields of standard cron
The order is always minute, hour, day of month, month and day of week. 30 9 * * 1 means minute 30, hour 9, any day of the month, any month, Monday.
| Field | Values |
|---|---|
| Minute | 0 to 59 |
| Hour | 0 to 23 |
| Day of month | 1 to 31 |
| Month | 1 to 12 or JAN to DEC |
| Day of week | 0 to 6 or SUN to SAT (0 is Sunday) |
Asterisk, comma, hyphen and slash
- * accepts any value of the field.
- A comma separates values: 0,30 in minutes runs at minutes 0 and 30.
- A hyphen marks a range: 1-5 in day of week is Monday to Friday.
- A slash sets the step: */15 in minutes runs every 15 minutes, and 9-17/2 in hours runs at 9, 11, 13, 15 and 17.
What changes in Quartz
The first field is seconds, and Sunday is 1 (Saturday is 7). One of the day fields must be ?, meaning no value. Quartz also accepts L for the last day of the month, LW for the last weekday, 15W for the weekday nearest the 15th, 6L for the last Friday and 6#3 for the third Friday of the month.
Time zones and daylight saving time
The expression doesn't carry a time zone. Crontab uses the server's zone, GitHub Actions uses UTC and Kubernetes uses the controller's zone unless spec.timeZone is set. To run at 9:00 in New York (UTC-4 in summer) on a UTC scheduler, the hour is 13. In zones with daylight saving time, a time may not exist on the day clocks spring forward, or happen twice when they fall back. The list of runs flags both cases.
Cron expression FAQ
What people ask when scheduling jobs in crontab, Kubernetes, GitHub Actions and Quartz.