Cron Expression Generator & Explainer
Build a cron expression from plain choices, or paste one to see what it means and when it runs next.
Next runs
Build an expression
Your input is processed in your browser and is not uploaded.
How to use it
- Type or paste an expression, or pick a preset.
- Or use "Build an expression" to choose the schedule; the expression updates.
- Read the plain-English meaning and the next run times, in the time zone you choose.
Example
Input: 0 8 * * 1-5
Result: Runs every weekday at 8:00 AM.
How it works
A standard cron expression has five fields: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC) and day of week (0-7 or SUN-SAT, where 0 and 7 are both Sunday). * means every value, a,b is a list, a-b is a range, and */n or a-b/n is a step.
Shortcuts such as @daily, @hourly, @weekly, @monthly and @yearly are accepted.
Day of month and day of week work together in a way that surprises people: if both are restricted (neither starts with *), cron runs when EITHER matches. If either starts with *, both must match.
Next runs are calculated by checking each day against your expression in the chosen time zone. A clock time that daylight saving skips is not listed, and one that occurs twice is listed once, at its first occurrence.
Assumptions
- Dialect: standard 5-field cron as used by Linux/Unix crontab. Quartz, Spring, AWS EventBridge and similar formats add fields or symbols (seconds, year, ?, L, W, #) and are not supported.
- Times use the 24-hour clock internally and are explained in 12-hour form.
- Next runs look up to 10 years ahead. A schedule that never occurs, such as February 31, shows no runs.
- Schedulers differ in how they handle daylight-saving changes; check yours.
Questions
Why does it say "runs when either matches"?
In standard cron, setting both day of month and day of week runs the job on days that match either one, not both.
My expression has six fields. Why is it rejected?
A sixth field usually means a seconds field from Quartz or Spring. This tool supports the standard five-field format only.