Build and validate cron expressions with an interactive editor. See a plain English explanation and the next 5 execution times for any schedule.
⏰Every minute
*Any value,List separator-Range/Step1-5Range 1 through 5*/15Every 15 unitsA cron expression is a five field string (minute, hour, day of month, month, day of week) that defines when a scheduled job runs. */5 * * * * means “every 5 minutes”; 0 9 * * 1-5 means “9 AM on weekdays.” Build expressions interactively below, read a plain English translation, and check the next run times before deploying.
Each of the five fields accepts these value types:
* every possible value for that field5 a specific value1,3,5 a list of values1-5 a range (inclusive)*/10 a step (every 10th value starting from the field minimum)5-20/3 a step within a range (5, 8, 11, 14, 17, 20)The month field accepts 1-12 or three letter names (JAN through DEC). The day of week field accepts 0-6 (Sunday=0) or names (SUN through SAT). Some implementations also treat 7 as Sunday.
Common shorthand aliases like @daily (equivalent to 0 0 * * *), @hourly (0 * * * *), and @weekly (0 0 * * 0) are supported by most cron implementations and by this tool. For frequent periodic tasks, see the Every 30 Minutes example. For hourly schedules, see the Every Hour expression. For business-hour schedules, try the Weekdays at 9 AM preset.
The trickiest behavior in cron is the day of month / day of week interaction. When both fields are restricted (neither is *), POSIX cron runs the job when either condition matches, which is OR logic, not AND. This catches many people off guard. If you set 0 0 15 * 5, the job runs at midnight on the 15th and on every Friday, not just on Fridays that fall on the 15th.
Need to convert the execution times to a different timezone? The Timezone Converter lets you compare schedules across timezones. The Unix Timestamp Converter can help you work with timestamps across timezones.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.