Cron Expression Explainer
Paste a cron expression, read it in plain English and see the next run times.
| Field | Allowed | Syntax |
|---|---|---|
| minute | 0-59 | * 5 1,15 8-17 */15 8-17/3 |
| hour | 0-23 | |
| day of month | 1-31 | |
| month | 1-12 or jan-dec | |
| day of week | 0-7 or sun-sat (0 and 7 are Sunday) |
Aliases work too: @hourly, @daily, @weekly, @monthly, @yearly.
About this tool
Paste a five-field crontab expression and get it back in plain English, plus the next five times it would fire shown in your local time alongside UTC. Lists, ranges, steps, month and weekday names, 0-or-7 Sundays and the @daily-style aliases are all understood, and a bad field is called out by name instead of a vague error.
Cron syntax is famously easy to get subtly wrong; the classic trap is that setting both day fields runs on either day, not both, and the description here spells that out when it applies. Everything is computed in your browser, so checking the schedule of a production job means pasting nothing anywhere sensitive. Remember that servers usually run cron in UTC while the times below are your local clock.
Frequently asked questions
- What do the five fields mean?
- In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or names like jan), day of week (0-7 or names like mon; both 0 and 7 are Sunday). Each accepts *, lists (1,15), ranges (8-17) and steps (*/15).
- What happens when both day fields are set?
- Classic cron applies an OR: "0 0 13 * 5" runs on every 13th AND every Friday, not only on Friday the 13th. The description spells this out when it applies.
- Are 6-field (seconds) expressions supported?
- No. This tool covers the traditional 5-field crontab format. Quartz and some libraries add a leading seconds field and other extensions (L, W, #) that behave differently.