Cron Expression Explainer

Translate cron expressions to plain English.

MinuteHourDay (Month)MonthDay (Week)
Presets
Visual Editor
Syntax Reference
FieldRangeSpecial Characters
Minute0-59* , - /
Hour0-23* , - /
Day of Month1-31* , - /
Month1-12* , - /
Day of Week0-7 (0,7=Sun)* , - /
CharacterMeaningExample
*Every value* * * * * = every minute
,List of values1,15 * * * * = minute 1 and 15
-Range of values1-5 = 1 through 5
/Step values*/5 = every 5 units

Frequently Asked Questions

What do the five fields in a cron expression mean? +
From left to right: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-7, where both 0 and 7 mean Sunday). Each field can use numbers, ranges, lists, and step values.
How does the slash (/) work in cron? +
The slash defines step values. For example, */5 in the minute field means every 5 minutes. 10-30/5 means every 5 minutes between minutes 10 and 30. The number before the slash is the start, and the number after is the interval.
What is the difference between * and ? in cron? +
The asterisk (*) means every value in that field. The question mark (?) is only used in some cron implementations (like Quartz) for day-of-month and day-of-week to mean no specific value. Standard 5-field cron only uses *.
How do I run a job on weekdays only? +
Set the day-of-week field to 1-5. For example, 0 9 * * 1-5 runs at 9:00 AM Monday through Friday.