Cron Expression Explainer
Paste a cron expression such as 0 9 * * 1-5 to see it in plain English — here, “At 09:00 on weekdays” — with each field explained and the next ten run times in your time zone. It reads standard five-field cron, including ranges, steps, names like MON and shortcuts like @daily. It runs in your browser.
Updated
How to use Cron Expression Explainer
- 1Type or paste a cron expression, or pick an example.
- 2Read the plain-English description and the field-by-field table.
- 3Check the next ten run times, shown in your own time zone.
- 4Adjust the expression until the schedule matches what you want.
How it works
Standard cron 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–6 or SUN–SAT, with 7 also meaning Sunday). Each field can be * for every value, a list (1,15), a range (1-5), a step (*/15 or 0-30/10) or a combination.
The shortcuts @hourly, @daily (or @midnight), @weekly, @monthly and @yearly (or @annually) are expanded to their five-field equivalents. @reboot has no schedule, so it is explained rather than expanded.
When both the day-of-month and day-of-week fields are restricted, standard cron runs on days that match either one, not both. 0 0 13 * 5 therefore runs on every 13th and on every Friday. If either field starts with *, only the other one counts.
Upcoming runs are calculated in this device's time zone by checking each day for up to five years ahead, so schedules that run rarely — such as 29 February — are still found. Times that do not exist on a daylight-saving change day are skipped.
Quartz and Spring schedulers use six or seven fields (adding seconds and a year) and symbols such as ?, L, W and #. Those are reported as not standard cron rather than guessed at.
Everything runs in this page. Nothing you paste is transmitted, logged or stored, which is what makes it safe to drop a production payload in here while you are debugging.
Worked example
*/15 9-17 * * 1-5
- Minute */15 → 0, 15, 30, 45
- Hour 9-17 → 09:00 to 17:59
- Day of week 1-5 → Monday to Friday
Result: Every 15 minutes between 09:00 and 17:59 on weekdays — the last run each day is 17:45.
Tips and common mistakes
- Write minute first: 30 2 * * * is 02:30, not 30 past 2 in the afternoon.
- Spread heavy jobs away from minute 0, when many other schedules fire.
- Use explicit times for daily jobs so daylight-saving changes do not surprise you; 02:30 does not exist on some change days.
- Comment each crontab line with its plain-English meaning.